Jen si přečíst knížky nestačí... Musíš programovat,programovat,programovat!
Aby jsi se dostal ke 3D musíš už umět v daném prog. jazyce docela dost aby jsi vůbec pochopil co se po tobě v různých tutorialech co najdeš po netu chce.
C++ a C# se od sebe liší docela dost, syntax je sice hodně podobná ale tím to asi tak končí (na netu jistě najděš hodně článků které vysvětlují co je c# zač). Osobně bych ti doporučil začít s C#. Je to jednodušší moderní jazyk a jeho nevýhody (menší výkon (ve většině případů nerozeznatelný od C++), špatná přenositelnost na jiné platfomy) ti jako začátečníkovi rozhodně vadit nebudou. Časem můžeš přejít na C++ ale je otázka jestli se ti bude chtít. :-)
Abych tak řekl rozdíl mezi C++ a C# je jako mezi Sadou nářadí a CNC obráběcím strojem.
Příspěvky odeslané z IP adresy 85.71.98.–
jj, na Code::Blocks jsem zapoměl. Taky fajn IDE. Každý ti asi doporučí to co sám používá (třeba já ti doporučuju Visual Studio Express). Objektivně si myslím že neuděláš chybu s žádným jmenovaným IDE. Vyzkoušej a co bude vyhovovat používej. :smile1:
Visual C++ 2010 Express pokud ti nevadí Microsoft http://www.microsoft.com/express/Downloads/# , :-) wxDev-C++ pokud ano http://wxdsgn.sourceforge.net/. Bavíme se samozdřejmě o freeware nástrojích.
http://www.microsoft.com/downloads/details.aspx?FamilyID=2c7da5fb-ffbb-4af6-8c66-651cbd28ca15&displaylang=en
Vyžaduje to validaci takže pokud nemáš win legálně tak si to musíš sehnat někde jinde.
Dá se využít něco co se jmenuje regulární výraz. Tohle jsem našel na netu.
public static String emailPattern = "^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";
public static boolean isEmail(String email) {
Pattern p = Pattern.compile(emailPattern); // Set the email pattern string
Matcher m = p.matcher(email); // Match the given string with the pattern
return m.matches();
}
nezapomeň přidat tyhle importy:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
Už jsem si k tomu něco našel http://msdn.microsoft.com/en-us/library/ms173224.aspx!
Díky dneska o tomhle operátoru slyším poprvé. :-)
public static DatabazeZakazek nacti()
{
try
{
using (FileStream fs = File.Open("data.dat", FileMode.Open))
{
BinaryFormatter bf = new BinaryFormatter();
DatabazeZakazek temp = (DatabazeZakazek)bf.Deserialize(fs);
return temp;
}
}
catch (Exception e)
{
return null;
}
}
Může to být takhle? Potom v samotný třídě program to mám takhle:
databaze = DatoveOperace.nacti();
if(databaze==null)
databaze = new DatabazeZakazek();
Nejde o zadání ze školy. Kamarád si chtěl udělat Správu zakázek tak jsem mu chtěl ukázat jak by se to dělalo objektově + chtěl jsem se sám pocvičit v C# (ve škole se němu nedostanu, u nás se učí v Javě a C++).
Studuju 2. rokem na Univerzitě Pardububice.
Mě se zdá že pořád jen hledáš místo kam budeš psát kód (prostě u C++ ti řekli že máš všechno napsat do části která je ohraničená z jedný strany int main(){ a z druhý strany } , tak to prostě děláš aniž by jsi přemýšlel o tom co vlastně děláš). Přítom až do OOP pronikneš tak zjistíš že je to přirozenější než cokoliv jinýho.
Rekapitulace toho co jsem ti buď já (přes ICQ) nebo ostatní tady napsaly:
[seznam]Namespace(jmenný prostor) je v podstatě taková krabice na výkresy(třídy).
Třída je výkres podle kterýho vytvářím objekty(něco co je, entita, věc).
Atributy jsou data který náležejí tomu kterému objektu.
Metody jsou funkce který pařej k objektu. Jakou mají mezi sebou spojitost? Nechápu...
[/seznam]
Je tohle možný? Hned první odkaz na google! http://www.google.cz/#hl=cs&source=hp&q=c%23+calculator+&lr=&aq=f&aqi=g1&aql=&oq=&gs_rfai=&fp=86bbfd40219eb850
co jsi hledal?
Ta tabulka říká jaká hodnota bude v proměnný určitýho typu před tím než jí zinicializuješ (tzn. provedeš prvotní přiřazení hodnoty)
např.
int i;
System.out.println("Hodnota promenne i = "+i); //vypise nulu
Ale doporučuje se vždycky inicializovat!
IMO zaseknout se na takový blbosti je docela masakr
Jasný to jsem tam dal aby tam proste neco bylo, ten prázdnej konstruktor by tam vlastně ani nemusel být. To pole objektů by vypadalo takhle
osoba[] DatabazeOsob = new osoba[20];
//potom plníš třeba takhle
DatabazeOsob[0] = new osoba(18,15000,"Horní Dolní");
DatabazeOsob[1] = new osoba(35,25000,"Ostrava");
//atd.
samozdrejme jdou použít pokročilejší konstrukce než obyčejný pole (Myslím že se tomu říká kontejnery (ArrayList, Vector (ten mozna v C# není hrozně se mi míchá Java a C#. Mají například tu výhodu že nemusíš předem určit velikost pole. Stačí trochu pogooglit.
Pokud jsi zatím psal programy jen pro konzoli tak doporucuju si nejdriv projet nejaky tutorialy.
Jde o to ze trida JPanel ma metodu void paintComponent(Graphics g); kterou si zastíníš. No a v ní můžeš směle malovat např g.drawLine(int x1,int y1,int x2,int y2) nakreslí čáru od [x1,y1] do [x2,y2].
skus tuhle třídu:
class osoba
{
public int vek { get; set; }
public int plat { get; set; }
public string mesto { get; set; }
public osoba()
{
this.vek = 18;
this.plat = 1500;
this.mesto = "New York";
}
public osoba(int vek,int plat,string mesto)
{
this.vek = vek;
this.plat = plat;
this.mesto = mesto;
}
}
no a vytvořil bych si nějaký pole objektů a do toho bych si ty data ulozil. Pak bych provedl úpravy a zase z pole ulozit do souboru.
pravda tak ne dělení deseti ale zbytek po celočíselném dělení deseti. např. máš číslo 125 vydělíš 10 dostanes 12 a zbytek je 5 pětku uložíš do proměnný 12 vydělíš 10 dostaneš jedna zbytek 2 ten zase ulozis vemes jedničku vyděliš 10 (celočíselně) dostaneš 0 zbytek 1 kterej uložíš do proměnný, mno a máš tři proměnný který obsahujou 1,2 a 5. jednoduché ne?
Tady jsem to napsal (určitě by to šlo napsat líp):
#include <iostream>
#define MAX 20 //definuju si konstantu MAX
using namespace std;
int main(int argc,char *argv[])
{
int cislo,i=0,ii,zacina = 0; //nadeklaruju si proměnnný (některý i zinicializuju)
int rozlozene[MAX];//stejne tak pole
cout<<"Vlozte prosím cislo ktere chcete rozlozit: "<<endl;
cin>>cislo; //vyzadam si cislo
while(cislo>0)// dokud vysledek není 0 opakuj
{
rozlozene[(MAX-1)-i++] = cislo%10; //cisla ukladam do pole odzadu abych je měl ve správným pořadí
cislo = cislo/10;//uložím si novej výsledek
} //end while
for(ii=0;i<MAX;i++)//projedu si pole
{
if(rozlozene[i]<0)// neinicializovana hodnota je nejaky sileny zaporny cislo
{
continue;
}else{
cout<<rozlozene[i]<<"-";
}
}//end for
cout<<endl;
system("pause");
}
nebo jednodusší spůsob
#include <iostream>
#include <string>
using namespace std;
int main(int argc,char *argv[])
{
string cislo;
cout<<"Zadej kladne cislo:";
getline(cin,cislo);
cout<<endl;
for(int i=0;i<cislo.length();i++)
{
cout<<((int)cislo[i]-48)<<"-";//misto vystupu si to muzes ukladat do pole
}
cout<<endl;
system("pause");
}
také mi to někdy dělalo. Nevím co to způsobuje ani jak se toho zbavit (i kdyz je pravda ze se mi to uz dlouho neobjevilo). Takovy napul reseni pokud se ti to stane zmackni ctrl+shift+esc ukonci proces explorer.exe a znova ho nahoď přes soubor->nová úloha(proste tam napiš explorer a stiskni enter) mělo by to pomoci potom doporucuju notebook vypínat přes funkci hibernace(klasický vypínání je přežitek) za prvé ti notebook naskočí do 20-30 sekund za druhé bude vždy v tom stavu v jakým jsi ho vypnul (hibernoval)
Já se obávám že informace k tomuto tématu najdeš opravdu zatim jen v angličtině. Ale jednu věc se odnauč: otevírat si hubu na lidi kor když tady máš jen 8 přízpěvků. Takovejch co chtěly programovat Mass Efect, World of Warcraft, Doom 3 aj. už tu bylo...
No skus třeba v konzoli "perl jmenosouboru.pl" (samozdrejme pokud mas v systemovy proměný Path cestu, ted si nejsem jistej jestli to instalator active Perl dela automaticky nebo ne).
Jinak na psaní používám PSPad, ale myslím že kdyby jsi pouzil GOOGLE(a to jen stačilo zadat perl ide) tak by jsi našel např. perl express který se asi nejvíc blíží tomu co by jsi chtěl.
Návod? Stačilo by tohle? http://docs.linux.cz/programming/interpreted/perl/perl.htm
Na stažení? To by byl pořádnej kousek dat...
Myslím že tvé definici nejlépe odpovídá www.wikipedia.org
No já jsem začínal na QBASICU. Tenkrát vycházel seriál v ABC (je to asi 10 roků ,ABC tenkrat a ted se vubec neda porovnavat teď je to spíš katalog potřeb pro fríkulínský šampóny), bylo mi asi jedenáct a táta nosil domů notebook jen na víkendy. QBASIC byl tenkrát v základní výbavě v MSDOSu. Po nějakým čase mi kamarád přinesl Delphi. Pak jsem skoušel C++. Nakonec to dopadlo tak že jsem si v Levelu přečetl článek o první verzi XNA, tak jsem to chtěl vyskoušet no ale v XNA se používá C#, co je .NET jsem tenkrat neměl ani tušení. Nakonec jsem u C# zůstal. Teď máme na škole javu která se mi okamžitě zalíbila takže teď pendluju mezi javou a C# a abych řekl pravdu nevím co si vybrat, obojí je podle mě super. V tomhle semestru máme navíc i C který taky celkem ujde ale jsem zvědavý na C++ v dalším semestru.
No trochu jsem se rozkecal o sobě, ale to co jsem chtěl říct, je to že důležitý, je začít něčím jednoduchým aby jsi pochopil o čem vůbec programování je. A tady bych ti opravdu doporučil (podle mého názoru) SmallBasic. Tam prostě není nad čím přemýšlet prostě píšeš. Až si to trochu osaháš a budeš cítit že tě SmallBasic omezuje zvol C# nebo Javu (určitě neuděláš krok vedle) a jednou až budeš mít pořádnou představu jak to v počítači funguje přejdi na C++ (třeba se ti už ani nebude chtít protože všechno co budeš potřebovat ti umožní už C# nebo Java).
Delphi je dobrej jazyk ale řekl bych že je už na ústupu. Tohle moje tvrzení vychází z toho že když jsem se přátel ptal co se oni učí na VŠ za jazyk tak to byl jeden z těchto (C++, C#, Java).Rád si tenhle názor nechám vyvrátit. Ale nic ti nebrání ho vyskoušet a udělat si na něj názor sám.
Docela dost by mě zajímalo na čem jsi se tak zasekl že si nevíš rady a přemýšlíš o změně jazyka, když vím jak moc jsi lpěl na tom že se chceš naučit právě C++. Pravda je jedna věc a to co tu už na tomto fóru nespočetněkrát zaznělo: Každý ti poradí jazyk ve kterém sám programuje.
U mě jsou programování a matematika komplementárně spojeny. :smile1: Čím víc rozumím programování tím míň mi dělá problém matematika. Je to asi tím že obojí je založeno na logice, nevím... :smile1: Proto je taky možná vyžadována na IT školách, prostě naladí studenty na tu správnou frekvenci.
ne to by opravdu nefungovalo. Představ si to asi tak že internet je až za routerem providera, tudíž počítače venku vidějí jen ten "providerův router" ale už se nedostanou k tobě. Aby se ty počítače mohly připojit k tobě musí se provést port forwarding na prave na tom hraničním routeru (který není u tebe) takže musíš poprosit tvého providera aby to pro tebe udelal (vetsinou za uplatu).
Čau je to dobrý na Tvůj první program v C++. já bych to kupříkladu řešil takhle:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string slova[] = {"petitisicovek","dvoutisicovek","tisicovek","petistovek","dvoustovek","stovek","padesatikorun",
"dvacetikorun","desetikorun","petikorun","dvoukorun","korun"};
int hodnoty[] = {5000,2000,1000,500,200,100,50,20,10,5,2,1};
int size = sizeof(hodnoty)/sizeof(int);
int i,vstup,pocet;
cout<<"Vitej v programu mincovnik 1.0\nZadej castku kterou potrebujes rozmenit: ";
cin>>vstup;
cout<<"\nPotrebujes: \n";
for(i=0;i<size;i++){
pocet = vstup/hodnoty[i];
if(pocet>0){
cout<<pocet<<' '<<slova[i]<<"\n";
}
vstup = vstup%hodnoty[i];
}
getchar();
return 0;
}
Funguje to na naprosto stejnym principu jako to tvoje (jen jsem trochu línej a nechce se mi moc psát tak používám pole :-) ) Navic zobrazuje to jen pocet u tech bankovek u kterych pocet neni nulovy) .
No matici bych si vytvořil jako dvojrozměrný pole integerů. Hlavní diagonálu jednoduše nastavíš for cyklem
v Javě je to takhle(snad to z toho pochopíš) nejsem pascalista:
int [][] matice = new int[velikost][velikost];
for(int i =0;i<matice.length;i++){
matice[i][i] = 1;
}
co je pod nebo nad ní : na to bych použil dvojitý for cyklus + nějakou tu vhodnou podmínku
ad Nadějě pro lidstvo za 9 miliard let: Kdyz se podívám jak se živočišné druhy vyvinuly za poslední milion let (pokud se nemílím tak druh homo sapiens tu je jen 40000 let) tak si myslím že za dalších 9 miliard let (nehledě na to že slunce dávno vyhasnulo) tu už žádný lidstvo rozhodně nebude, a teď nemyslím tu variantu že by se samo zahubilo ale dejme tomu že by se vyvíjelo dál (pokud ovšem věříte Darwinovy :-) ) tak myslím že ten druh co přijde po nás (nebo ten pár co přijde po nich) tenhle problém pálit nebude :-)
A abych odpověděl na otázku: Ano, věřím v paralelní vesmíry (můžeme to nazvat třeba mnohovesmír (angl. multiverse)) veřím ve vesmíry kde se uskutečňují všechny možnosti. :-) ale neberme to tak vážně :-)
Údajně použitím vysokofrekvenčního mag. pole o velké intenzitě. Viz. Filadelfský experiment (předpokládáme-li ovšem že to není výmysl (ovšem na každém šprochu pravdy trochu :-) ) Musíš si ale přestat představovat hmotu jako hmotu nýbřž jako energii. (trochu jsme zabředli do filozofie - viz. idealismus). Když měníš frekvenci u elektromagnetického záření tak to záření nejdřív topí potom je ho možný vnímat (světlo) a nakonec je z něj gamma záření prostupující hmotou. Ta samá podstata se projevuje naprosto jinak a jen tím že změním jeden z jejich základních atributů. Když je možné hmotu rozložít a dostat z ní energii (štěpná reakce) pak je jistě možné ji zase složit zpět ze samotné energie. Jen si ale spočítejte kolik by ste jí potřebovali jen na jedno kilo hmoty (známý vztah E=m*c^2).
Vedle hodin je ikonka síťového připojení na tu klikni pravym vyber otevřít centrum síťových připojení a sdílení (nějak takhle podobně) napravo v tom centru bude odkaz změnit nastavení adaptéru (nebo síťových žařízení teď zrovna nesedim u vist) potom se ti zobrazi sitova pripojeni a dal se postupuje stejne jako v XP
Nevíte proč se s express edicí VS10 nejde připojit k MS SQL(není tam vůbec connector)? Myslíte že to je omezení express edice (což by bylo divný protože v předchozích expressech to normálně fungovalo) nebo jen nedodělek (přeci jen je to pořád beta i když druhá).
To yaqwsx : Ano tvá teorie je správná pokud předpokládáš že čas je jedna nedělitelná linka, pokud ovšem uvažujeme že po každé změně se časová linie rozdělí a plyne jiným směrem tak ke zacyklení vůbec nedojde protože zpět jsi cestoval v jiné časové linii(někdy se tomu říká nohavice(nebo kalhoty teď si nejsem úplně jistý :-D) času). to že už v této časové linii (tedy té kdy už zná heslo eventuelně má backdoor) nemá potřebu cestovat zpět už tu prvotní cestu nijak neovlivní.
Proč by proboha musel mít živnostenský list? Snad pokud příjem nepřesáhne 40000 za rok tak nemusíš mít nic. Nebo chces říct že když pojedu na trh prodat štěňata tak musím mít živnosťák? Já teda pravda nemám představu kolik se dá adsensem vydělat ale pochybuju že to utáhne něco víc něz hosting.
Myslím že takhle rozhodně ne.
správně je to :
interface IBehavior
{
void Move(float timedelta);
}
interface IDrawer
{
void Draw();
}
class MyObject : IBehavior,IDrawer
{
void Move(float timedelta)
{
//tady implementujes move
}
void Draw()
{
//tady implementujes draw
}
}
Já si myslím že Objektově píšeš když používáš to co ti OOP nabízí tedy Třídy,Objekty atd.
Takže abych se ujistil že ti nekecám tak jsem to právě skusil, a můžu ti říct že to opravdu funguje. Na notebooku (W7) běží MSSQL Express 2008 na pc (XP) běží C# aplikace (jen datagridview na formu) --> a voilá datagridview se zaplní (jen jsem musel vypnout firewall na notebooku protoze v nem nemam nastavenou vyjimku pro sql)
Ano mám ADSL internet od O2. Pokud nemate pevnou linku(telefon) tak asi opravdu musi nekdo prijit a pripojit Vas. Jedná se tedy o telefonní přípojku. ADSL Modem(tedy ten router) potřebuje napájení ze sítě ale nic vám nebrání koupit telefonní kabel a dovést si to tam kam potřebujete. Technik co vám to bude zapojovat vám určitě s tímhle poradí.
Nech si ten co je ve Vistach, pouzival(ted mam Win7) jsem ho 2 roky a nikdy me nezklamal :-) (Nekdo jiny ti asi rekne neco jineho a memu nazoru se vysmeje ale tohle je muj nazor).
Tenhle router se nastavuje pres webovy rozhrani (tzn. ve webovým prohlížeči zadáš adresu routeru (vetsinou 10.0.0.138) a uz nastavujes) je to celkem jednoduchy.Tam nastavis šifrování a všechno ostatní co potřebuješ k nastaveni sítě. K routeru dostanes urcite i ceskej navod, v nejhorsim pripade reseni najdes na netu. Zyxel Prestige 660HW mám a šifrování wpa i wpa2 podporuje.
Doporucuju si dojit do mistni knihovny a najit si nejakou knizku o wi-fi.
Podle mě jsi paranoidni az moc. Jediny co ti hrozi je opravdu jen to ze nekdo cizi bude vyuzivat tvuj internet.
Tenhle cyklus se mi moc nelibi:
for a:= 1 to 20 do
begin
i[a]:=random(10);
for b:= a to 19 do //<-- tohle je podle me blbost viz.[1]
begin
if i[a] = i[b+1] then
j[a]:=i[a];
end;
end;
[1] Kdyz na to jen tak zbezne koukam a nejak extra nepremejslim nad algoritmem tak je tohle blbost protoze at je a jakykoliv tak dalsi prvky pole jsou porad prazdna a kdyz uz to konecne zaplni pole tak to skonci. Udelej si nejdriv cyklus na zaplneni pole tema nahodnejma hodnotama a az potom s polem pracuj
public znamená veřejný tzn. to jsou metody a atributy viditelne z venku třídy.
private znamená soukromý a to jsou zase metody a atributy ktere jsou viditelné(tzn. dají se použít) jen ve vnitřku třídy.
Chybu tam zadnou nemas . Napisu ti jak bych to napsat ja(dela to to samy):
public class Obdelnik
{
private int a,b; //delky stran
public Obdelnik(int a,int b) // konstruktor nastavi delky
{
this.a = a;
this.b = b;
}
public int getObvod()
{
return 2*(a+b);
}
public int getObsah()
{
return a*b;
}
}
/*
Nakonec to pouzijes takhle:
Obdelnik obdelnik = new Obdelnik(delka_prvni_strany,delka_druhe_strany);
*/
Tak pokud je to ten Zyxel Prestige tak ti muzu rict ze podporuje i WPA2 (sam ho pouzivam (jsem tak trochu paranoik :-D) jinak ti muzu rict ze i WEP je dostacujici a pochybuju ze se ti tam bude chtit nekdo nabourat( vetsina lidi to vzda pri sebemensim naznaku zabezpeceni (proste to nestoji za tu namahu , nezabezpecenych siti je po vetsich i mensich mestech dost)) navic i kdyby tu namahu chtel vynalozit tak jiste pouzivas firewall a nemas nazdileny cely C:\, navic muzes pouzit MAC tabulku (tu ma naprosta vetsina (rekl bych vsechny) zarizeni (i tenhle Zyxel) a muzes vylozene rict ktery zarizeni se smeji k siti pripojit. K tvé otázce jestli by se dalo pripojit kabelem dalsi wifi zarizeni tak dalo a jednoduse ale je to zbytecny prave z tech duvodu ktery jsem uvedl vyse.