Programiranje u C-u - od svega pomalo izdvojena tema

poruka: 1.661
|
čitano: 388.624
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
Aliser kaže...

Da li iko zna gdje mi je ovdje greška?

1. Ne uvlacis kôd, i ne odvajas cjeline smisleno. Ok, to samo po sebi nije greska, ali smanjuje citljivost.

2. Mjesas formatirani unos sa neformatiranim (cin i cin.get()) to dovodi do toga da ti cin.get() bude potpuno preskocen zato sto cin prije njega ostavlja newline znak u input bufferu. Vise o tome ovdje:

http://www.daniweb.com/software-development/cpp/threads/162903

http://www.daniweb.com/software-development/cpp/threads/90228

3. Kao sto je vec receno treba ici "i--" umjesto "i++"

 

Evo kako bih ja to napisao (skratio sam neke stvari, i uvukao kôd):

 

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    char ime1[80], ime2[80], word[80];
    int i;
   
    cout<<"Unesite ime ";
    cin>>ime1;
    strcpy(ime2, ime1);
    cout<<"Drugi niz: "<<ime2<<endl;
   
    cout<<"Upisite svoju rijec ";
    cin>>word;
   
    for (i=strlen(word); i>=0; i--)
        cout<<word[i]<<endl;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?
Poruka je uređivana zadnji put uto 19.4.2011 15:05 (rustweaver).
17 godina
offline
Programiranje u C-u - od svega pomalo

Mali dodatak

 

 

za ispis:

for(int i = 0; i < strlen(word); i++)

 

 

za obrnuti ispis:

for(int i = strlen(word) - 1; i >= 0; i--)

 

*ispravljeno, pošto se radi o C++ - deklaracija brojača ide u petlji

(jest da je nepisano pravilo, ali u C++ deklariraš varijable kad ih trebaš, i u dosegu u kojem ih trebaš).

Poruka je uređivana zadnji put uto 19.4.2011 17:08 (Floki).
 
1 0 hvala 1
17 godina
moderator
online
Re: Programiranje u C-u - od svega pomalo
rustweaver kaže...
Evo kako bih ja to napisao (skratio sam neke stvari, i uvukao kôd):

 

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    char ime1[80], ime2[80], word[80];
   int i;
   
    cout<<"Unesite ime ";
    cin>>ime1;
    strcpy(ime2, ime1);
    cout<<"Drugi niz: "<<ime2<<endl;
   
    cout<<"Upisite svoju rijec ";
    cin>>word;
   
   for (i=strlen(word); i>=0; i--)
        cout<<word[i]<<endl;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Ovo je malo Pascalovski stil... Mislim da si mu i to trebao ispraviti - tipično je (da ne kažem nepisani standard) za C-like jezike da se varijabla za brojač/iterator deklarira s petljom, s obzirom da će se u pravilu samo tu i koristiti i nema potrebe da je vidljiva i izvan petlje.

 

Znači, bilo bi bolje držati se tog nepisanog standarda:


    for (int i=strlen(word); i>=0; i--)
        cout<<word[i]<<endl;

 

16 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo

Mislim da je standardni C podržavao deklaracije samo na početku bloka.

 

Tek sa C++ je došlo trpanje deklaracija bilo gdje, a ovo radi jer većina kompajlera je c++ kompajleri koji moraju imati punu c podršku.

 

Slobodno me ispravi ako sam u zabludi :)

 

PS: za ljude koji tek uče programiranje, zaboravite ovu poruku jer će vas samo zbuniti a neće vas ništa naučiti.

 

edit: tek sam sada pogledao predhodnu poruku i vidim da je u pitanju c++ a ja se ravnao po naslovu teme haha

 

To će me naučiti da forumarim nepažljivo :P

Poruka je uređivana zadnji put uto 19.4.2011 16:55 (Dr. Zoidberg).
17 godina
moderator
online
Re: Programiranje u C-u - od svega pomalo
Dr. Zoidberg kaže...

Mislim da je standardni C podržavao deklaracije samo na početku bloka.

 

Tek sa C++ je došlo trpanje deklaracija bilo gdje, a ovo radi jer većina kompajlera je c++ kompajleri koji moraju imati punu c podršku.

 

Slobodno me ispravi ako sam u zabludi :)

 

...

 

edit: tek sam sada pogledao predhodnu poruku i vidim da je u pitanju c++ a ja se ravnao po naslovu teme haha

Pa dobro, pričao si za C pa sad... Ja takva saznanja nemam - zapravo bi me iznenadilo da to je tako, s obzirom da C nema odvojene deklarativne dijelove od glavnog koda, kao što to ima Pascal. I kažeš da je "C podržavao deklaracije samo na početku bloka" - to znači neki stari standard ili što? Koga briga za stari, napušteni standard - ako aktualni standardi to omogućavaju, onda tu mogućnost treba i koristiti. {#} A ovo mi je zbilja prvi glas o tome.

17 godina
offline
Re: Programiranje u C-u - od svega pomalo
mbaksa kaže...
Dr. Zoidberg kaže...

Mislim da je standardni C podržavao deklaracije samo na početku bloka.

 

Tek sa C++ je došlo trpanje deklaracija bilo gdje, a ovo radi jer većina kompajlera je c++ kompajleri koji moraju imati punu c podršku.

 

Slobodno me ispravi ako sam u zabludi :)

 

...

 

edit: tek sam sada pogledao predhodnu poruku i vidim da je u pitanju c++ a ja se ravnao po naslovu teme haha

Pa dobro, pričao si za C pa sad... Ja takva saznanja nemam - zapravo bi me iznenadilo da to je tako, s obzirom da C nema odvojene deklarativne dijelove od glavnog koda, kao što to ima Pascal. I kažeš da je "C podržavao deklaracije samo na početku bloka" - to znači neki stari standard ili što? Koga briga za stari, napušteni standard - ako aktualni standardi to omogućavaju, onda tu mogućnost treba i koristiti. {#} A ovo mi je zbilja prvi glas o tome.

ako pogledamo stare zadatke iz C-a (one sa void main()), uvijek deklariraju varijable na početku, ali prošlo svršeno vrijeme kako kažeš, novi kompileri to ne traže, ionako pišeš C programe u C/C++ kompilerskom okružju,

(bar ja u Visual Studiu), pa slobodno mogu i C pisati po C++ standardu da deklariram varijablu kad je trebam.

Poruka je uređivana zadnji put uto 19.4.2011 17:14 (Floki).
16 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo

malo kopanja kaže da ansi c standard iz 89te traži deklariranje varijabli na početku scope-a. ali još malo kopanja kaže da c standard 99te dopušta deklaracije svugdje pa definitivno nema smisla deklarirati na početku :)

17 godina
offline
Re: Programiranje u C-u - od svega pomalo
Dr. Zoidberg kaže...

malo kopanja kaže da ansi c standard iz 89te traži deklariranje varijabli na početku scope-a. ali još malo kopanja kaže da c standard 99te dopušta deklaracije svugdje pa definitivno nema smisla deklarirati na početku :)

navika zna biti gadna stvar - čim čovjek napiše C-ovski kod, odmah mu se zalomi i petlja (i=0 . .. )

baš čudno, ali šablon{#}

meni se uvjek to desi, valjda radi onih starih zadataka iz C koji su počinjali još sa  void main()

Poruka je uređivana zadnji put uto 19.4.2011 17:24 (Floki).
15 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
mbaksa kaže...

to znači neki stari standard ili što? Koga briga za stari, napušteni standard - ako aktualni standardi to omogućavaju, onda tu mogućnost treba i koristiti. {#} A ovo mi je zbilja prvi glas o tome.

ANSI C je jos uvijek veoma aktualan standard. Nazalost, kako je C++ popularnoscu pregazio C tako je i razvoj C compilera zapeo, te ih velika vecina podrzava samo neke dijelove C99 standarda. Radi sto vece portabilnosti treba kôd uvijek svoditi na najnizi zajednicki nazivnik.

 

Ona deklaracija brojaca povrh bloka mi je navika proizasla iz iskustva sa razlicitim C compilerima, nemam nikakvog opravdanja za ovaj konkretan slucaj buduci da se radi o C++ kôdu...

Takve stvari se dogadaju kada pokusavam pisati C++ :D

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?
17 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
rustweaver kaže...
Radi sto vece portabilnosti treba kôd uvijek svoditi na najnizi zajednicki nazivnik.

I gcc i MS-ov kompajler će sve to bez problema progutati, a s njima je pokriveno gotovo cijelo tržište. A ako netko programira za neki embedded sustav koji koristi neki lijevi kompajler onda mu je portabilnost zadnja na pameti.

Poruka je uređivana zadnji put uto 19.4.2011 20:05 (Tom69).
16 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

kako izvući sistemsko vrijeme i spremiti dan, mjesec i god u 3 različite varijable? može i c i c++. ja sam pokušavao, al mi nikako nije uspjelo... :/

Atomska bubamara
 
0 0 hvala 0
17 godina
moderator
online
Re: Programiranje u C-u - od svega pomalo
jurluk kaže...

kako izvući sistemsko vrijeme i spremiti dan, mjesec i god u 3 različite varijable? može i c i c++. ja sam pokušavao, al mi nikako nije uspjelo... :/

Ovo? http://www.cplusplus.com/reference/clibrary/ctime/mktime/

16 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo

mah, mislio sam da ima nešto jednostavnije

 

na kraju sam sklepao ovo. jel to dobro? Osmijeh

 

#include <stdio.h>
#include <time.h>

int main () {

    int i, d, y;
    time_t rawtime;
    struct tm *timeinfo;
    char *ttime;
    char mon[4], day[3], year[5];

    time (&rawtime);
    timeinfo = localtime (&rawtime);
    ttime = asctime(timeinfo);
    printf("The current date/time is: %s", ttime);

    for (i=4; i< 7; i++) mon[i-4]=ttime[i];
    for (i=8; i<10; i++) day[i-8]=ttime[i];
    d = atoi(day);
    for (i=20; i<24; i++) year[i-20]=ttime[i];
    y = atoi(year);

    printf("%d %s %d", d, mon, y);

    return 0;
}

Atomska bubamara
17 godina
moderator
online
Re: Programiranje u C-u - od svega pomalo
jurluk kaže...

mah, mislio sam da ima nešto jednostavnije

Pa i je jednostavno. Jesi li uočio strukturu tm? I koje članove ima? http://www.cplusplus.com/reference/clibrary/ctime/tm/

 

jurluk kaže...
na kraju sam sklepao ovo. jel to dobro? Osmijeh

Meni ti je ovo tvoje jako škakljivo. Ti si išao pretvarat vrijeme u string i onda iz tog stringa vaditi znakove iz kojih si pokupio godinu, naziv mjeseca i dan. A imaš gotovu strukturu tm iz koje možeš direktno izvući dva od ta tri podatka (možeš izvući i redni broj mjeseca, ali ga ručno moraš pretvoriti u string).

 

Meni bi bilo logičnije da si išao ovako nešto napraviti:

 

#include <iostream>
#include <time.h>

int main () {
    char mjesec[12][5] = {"Sij", "Velj", "Ozu", "Tra", "Svi", "Lip",
      "Srp", "Kol", "Ruj", "Lis", "Stu", "Pro"};

    time_t rawtime;
    struct tm *timeinfo;

    time (&rawtime);
    timeinfo = localtime(&rawtime);
    printf("%d. %s %d.\n", timeinfo->tm_mday, mjesec[timeinfo->tm_mon], 1900+timeinfo->tm_year);

    system("PAUSE");
    return 0;
}

16 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
mbaksa kaže...
Meni ti je ovo tvoje jako škakljivo. Ti si išao pretvarat vrijeme u string i onda iz tog stringa vaditi znakove iz kojih si pokupio godinu, naziv mjeseca i dan. A imaš gotovu strukturu tm iz koje možeš direktno izvući dva od ta tri podatka (možeš izvući i redni broj mjeseca, ali ga ručno moraš pretvoriti u string).

ma meni mjesec i treba kao integer. ondje sam ga ostavio kao string samo eto tako. mogu iz iz tog stringa izvuci koji je mjesec, al ajd vidim da je ovo jednostavnije. vec sam napravio funkciju koja ovo obavlja, al ajd promjenit cu je

 

al me zanima, zasto mi na ovaj nacin izbacuje da je mjesec 3. a ne 4. Neodlucan

 

#include <iostream>
#include <stdio.h>
#include <time.h>
#include <conio.h>

int main () {
    time_t rawtime;
    struct tm *timeinfo;

    time (&rawtime);
    timeinfo = localtime(&rawtime);
    printf("%d %d %d\n", timeinfo->tm_mday, timeinfo->tm_mon, 1900+timeinfo->tm_year);
    getch();
    return 0;
}

Atomska bubamara
17 godina
moderator
online
Re: Programiranje u C-u - od svega pomalo
jurluk kaže...
al me zanima, zasto mi na ovaj nacin izbacuje da je mjesec 3. a ne 4. Neodlucan

 

    printf("%d %d %d\n", timeinfo->tm_mday, timeinfo->tm_mon, 1900+timeinfo->tm_year);

Čitaj dokumentaciju!

tm_mon    months since January    0-11

 

 

Inače, nisam prije uočio - ima funkcija strftime, koja funkcionira slično popu printf, samo što oblikuje datum-vrijeme, pa možeš dobiti string kakav hoćeš - sve iz strukture tipa tm.

    char buffer [80];
    strftime (buffer,80,"Trenutni datum je: %d. %b %Y.", timeinfo);
    puts (buffer);

Znači, i na taj način možeš izvući engleski naziv mjeseca, ako ti treba.

16 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
mbaksa kaže...
Čitaj dokumentaciju!

tm_mon    months since January    0-11

aii, pa da, to sam previdio. hvala! ;)

 

mbaksa kaže...
Inače, nisam prije uočio - ima funkcija strftime, koja funkcionira slično popu printf, samo što oblikuje datum-vrijeme, pa možeš dobiti string kakav hoćeš - sve iz strukture tipa tm.

    char buffer [80];
    strftime (buffer,80,"Trenutni datum je: %d. %b %Y.", timeinfo);
    puts (buffer);

Znači, i na taj način možeš izvući engleski naziv mjeseca, ako ti treba.

kao što sam rekao, treba mi integer, tako da mi ovo ne treba

 

to je sad to. zasad je sve riješeno. hvala na pomoci!

Atomska bubamara
17 godina
moderator
online
Re: Programiranje u C-u - od svega pomalo

Moraš se naučiti služiti dokumentacijom. Recimo ja do sad nisam imao gotovo nikakvog pojma o tome kako se radi s datumom/vremenom u C/C++-u (mislim da nisam nikad ni radio - ako sam radio, onda sam zaboravio da sam to radio) - preko Googlea (upisao sam c get current time) došao sam na onu prvu stanicu koju sam ti naveo, pa sam isprobao primjer, pogledao što je ta struktura tm, pa pogledao dolje lijevo kakvih još funkcija ima vezano uz vrijeme. Kužiš?

 

Do svega ovog što sam ti napisao došao sam uz malo istraživanja. Jest da je nekad brže i jednostavnije jednostavno puknuti pitanje na forum, ali dogodit će ti se kad ti to neće biti dovoljno brzo ili kad ćeš pitati neke specifične stvari koje ti nitko neće znati odgovoriti (recimo u ovom slučaju - do kad bi morao čekati da ti netko odgovori? ja sam iz čiste dosade to išao istraživati, da mi se nije dalo posvetiti vrijeme tome, od mene ne bi dobio nikakav odgovor). Dobar programer nije (nužno) onaj koji (misli da) "sve zna" (jer nitko ne zna sve i čim se malo izađe iz svog osnovnog područja, vidjet ćeš da postoje stvari o kojima gotovo ništa ne znaš - ali zato moraš biti spreman i sposoban sam naučiti), nego onaj koji se zna snaći, koji zna pravilno prepoznati problem, istražiti ga (što uključuje pregledavanje funkcija povezanih s problemom - ako ne znaš, tj. ne pogledaš koje sve funkcije postoje i čemu služe, nećeš znati što sve imaš na raspolaganju za rad), dokučiti algoritam i onda ga sprovesti u djelo.

 

Hoću reći da si bio na dobrom tragu - došao si do funkcije asctime i iskoristio si je. No, kao što si vidio, trebao si još malo to istražiti - trebao si istražiti što je i čemu služi struktura tm. Da si to pogledao i sam bi skužio da je to upravo ono što ti treba. A zaista si trebao pogleati tu strukturu jer ju koristiš u dvije funkcije - ako zbog ničeg drugog, onda zbog toga. I zbog čiste radoznalosti. {#}

14 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

Treba mi opet mala pomoc.

 

Naime,imam zadatak da napravim program koji provjerava da li je ucitana rijec palindrom.

 

Ovo je moj kod:

#include <iostream>
#include <stdlib.h>
#include <string>

int n,i,j;

char ulaz[80],izlaz[80];

cout<<"Unesite rijec: ";cin>>ulaz;
n=strlen(ulaz);
j=0;
for(i=n-1;i>=0;i--)
{
izlaz[j]=ulaz[i];
j++;
}
if(strcmp(ulaz,izlaz)==0)
cout<<endl<<"Ucitana rijec JE palindrom "<<endl;
else
cout<<endl<<"Ucitana rijec NIJE palindrom "<<endl;

 

 

E sad,kad pokrenem program i ukucam npr rijec neven ispise da ucitana rijec jest palindrom,a kada ukucam npr oko,ana,dud ispise mi da ucitana rijec NIJE palindrom.

 

Zanima me zasto >.>

IT'S RECORD TIME!
Moj PC  
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
Aliser kaže...

Zanima me zasto >.>

Zato što C-string završava s '\0' kojeg ti ne dodaješ na kraj, a nije zagarantirano da će ti svaki kompajler polje inicijalizirati na 0.

17 godina
moderator
online
Re: Programiranje u C-u - od svega pomalo
Aliser kaže...
E sad,kad pokrenem program i ukucam npr rijec neven ispise da ucitana rijec jest palindrom,a kada ukucam npr oko,ana,dud ispise mi da ucitana rijec NIJE palindrom.

 

Zanima me zasto >.>

Prvo - totalno si me zbunio, jer meni piše da ana i dud JESU palindromi, a riječ neven napiše da nije palindrom. Nego - jasno ti je gdje je problem? U tome da nisi pravilno izokrenuo string, odnosno u nekim slučajevima kad imaš palindrom, ulaz nisi dobro transformirao u izlaz. Ne kužim kako se neki ovdje ne mogu snaći - zašto jednostavno nisi ispisao ulaz i izlaz? Zar je to tako teško? Evo, vidi:

 

    cout << "U [" << ulaz << "]" << endl
         << "I [" << izlaz << "]" << endl;
         

Da si samo to napravio, već bi vidio da si nešto loše napravio s izlazom, jer u izlazu imaš neke "kerefeke".

 

Inače, Tom69 ti je dobro rekao.

 

 

A također, ne razumijem zašto si išao komplicirati s takvim algoritmom. Zašto bi morao prvo ulazni string transformirati u obrnuti i onda ih uspoređivati? Možeš jednostavno uspoređivati znak po znak:

je li string[i]==string[len(string)-1-i]? Ako za bilo koji znak nema jednakosti označiš neku varijablu u false i prekidaš petlju s break.

15 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
Aliser kaže...

Treba mi opet mala pomoc.

 

Naime,imam zadatak da napravim program koji provjerava da li je ucitana rijec palindrom.

 

Ovo je moj kod:

#include <iostream>
#include <stdlib.h>
#include <string>

int n,i,j;

char ulaz[80],izlaz[80];

cout<<"Unesite rijec: ";cin>>ulaz;
n=strlen(ulaz);
j=0;
for(i=n-1;i>=0;i--)
{
izlaz[j]=ulaz[i];
j++;
}
if(strcmp(ulaz,izlaz)==0)
cout<<endl<<"Ucitana rijec JE palindrom "<<endl;
else
cout<<endl<<"Ucitana rijec NIJE palindrom "<<endl;

 

 

E sad,kad pokrenem program i ukucam npr rijec neven ispise da ucitana rijec jest palindrom,a kada ukucam npr oko,ana,dud ispise mi da ucitana rijec NIJE palindrom.

 

Zanima me zasto >.>

Nedavno sam radio sličan program. Korisnik je na ulazu unosio rečenicu, a program je izbacivao sve razmake, znakove i brojeve i onda ispitivao je li palindrom. 

 

Primjer:

ana 42384 voli m1i3lovana

 

Riječ bez znakova i razmaka:

anavolimilovana

 

Riječ je palindrom.

 

Evo ti i kod, možda ti pomogne {#}

 

 

 

//Učitati rečenicu i provjeriti je li ona palindrom.

 

#include <iostream>

#include <cstdlib>

#include <string>

#include <cctype>

 

using namespace std;

 

int main()

{

string rijec,rijec2="";

string rijec3="";

int n,i,m;

 

cout<<"Unesi rijec"<<endl;

getline(cin,rijec);

 

n=rijec.size();

 

for(i=0;i<=n-1;i++)

{

if(isalpha(rijec[i]))

{

rijec2=rijec2+rijec[i];

}

}

 

 

m=rijec2.size();

 

 

for(i=m-1;i>=0;i--)

{

rijec3=rijec3+rijec2[i];

}

 

 

cout<<"Rijec bez znakova je "<<rijec2<<endl<<endl;

 

 

cout<<"Obrnuta rijec je "<<rijec3<<endl<<endl;

 

if(rijec2==rijec3)

cout<<"Rijec je palindrom"<<endl;

else

cout<<"Rijec nije palindrom"<<endl;

 

 

 

system("PAUSE");

return 0;

}

 

 

80 % mladih ne zna matematiku. Ako si među onih 40 % što znaju, stavi ovo u potpis.
Poruka je uređivana zadnji put sri 4.5.2011 20:31 (Hambrle).
17 godina
moderator
online
Re: Programiranje u C-u - od svega pomalo

Hambrle, što ti znače rijec, rijec2 i rijec3? Zašto nisi imenovao varijable recimo rijecUpisana, rijecBezRazmaka, rijecObrnuta? Zaista ne kužim zašto se početnici toliko boje upotrebljavati nazive varijabli koji zaista jasno govore čemu te varijable služe. To bi vam trebao biti imperativ! Upotrebljavati korektna imena varijabli već i na najmanjim programima, kako bi vam to ušlo u normalan način pisanja koda pa da isto to primjenjujete i u ozbiljnim programima, ako se kasnije odlučite za programersku profesiju.

 

Također - deklariranje svih varijabli na početku samo zbunjuje jer kad gledaš program ispočetka ne znaš čemu služi koja varijabla (u tom trenutku n, i, m baš ničemu ne služe) i onda moraš tražiti po kodu i gledati gdje se ta varijabla prvi put upotrebljava da bi skužio o čemu se radi. Recimo meni je ovo tvoje deklariranje n i m totalno zbunjujuće - čemu to? Što u tom trenutku znače ti n i m? Također, varijable koje se koriste kao indeksi u petlji najpametnije je deklarirati u samoj naredbi kojom se kreira petlja - da jasno znaš da se ta varijabla odnosi upravo na to.

 

Znači, nema:

 

int i;

...

...

...

for(i=0;i<=n-1;i++)

...

 

 

nego jednostavno

 

for(int i=0;i<=n-1;i++)

 

i gotova stvar.

15 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
mbaksa kaže...

U pravu si, definitivno.

I nikako da se naučim deklarirati imena varijabli kako treba, a znam da će kod kompleksnijih programa zadavati muke i meni, a i onom koji bude čitao kod.

Moram se prisilit na to nekako.

Samo ovo drugo, nisam znao da se može varijabla deklarirati i u petlji, hvala ti za ovo. 

80 % mladih ne zna matematiku. Ako si među onih 40 % što znaju, stavi ovo u potpis.
14 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

Napisati program koji ce ispisati koliko rijeci ima ucitana recenica

 

Mozel pomoc? >.>

IT'S RECORD TIME!
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
Aliser kaže...

Napisati program koji ce ispisati koliko rijeci ima ucitana recenica

 

Mozel pomoc? >.>

Učitaš rečenicu (sa getline ili čime već) i brojiš razmake (eventualno zareze, dvotočke ili kaj već može doć)

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
14 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
Mozes li napisati kod ako nije problem,nikako ne mogu skontati
IT'S RECORD TIME!
16 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo

Evo samo dijelovi, ti nadopuni šta treba:

 

string s;

int brojac=0;

getline(cin,s); //valjda je ta sintaxa

 

for (int i=0;i<s.size();++i)

  if ( s[i]==' ' || s[i]==',' || ostali znakovi koji odvajaju riječi )

   ++brojac;

 

 

Ovo bi bilo ako nemaš više razmaka ili specijalnih znakova zaredom, kad imaš onda treba malo promjena u petlji, treba gledat i prethodnog i tako.

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
15 godina
offline
Programiranje u C-u - od svega pomalo

Dragi moji programeri, molim vas pomoć oko ovog zadatka. Naime pokušavam skontati proslijeđivanje polja pomoćnoj funkciji, ali ne ide mi baš. Dio sam zadatka riješio i mislim da nije baš sve krivo. Znam da negdje radim debilnu grešku i da će vam biti smiješno, ali patim se s tim već par sati i ne vidim gdje griješim.

 

 

Napišite program koji se sastoji od glavne i jedne dodatne funkcije. Dodatna funkcija kao ulazne parametre prima polje maksimalne veličine 100 i broj učitanih brojeva n, a računa zbroj parnih vrijednosti elemenata polja. U glavnoj funkciji se obavlja učitavanje n brojeva u polje i ispis rezultata koji vrati dodatna funkcija. Varijabla n označava koliko brojeva treba učitati u polje preko tipkovnice

 

#include <stdio.h>
#include <conio.h>

int zbrojparnih(int x, int njiva[100]);

int main ()
{
    int n, i, polje[100];
    printf ("Koliko brojeva zelis unijeti: ");
    scanf ("%d", &n);
    for (i=0; i<n; i++){
        printf ("Unesi broj: ");
        scanf ("%d", &polje[i]);
        }
    printf ("\nZbroj parnih brojeva je %d", zbrojparnih(int n, int polje[100]));
   
    getch();
}

int zbrojparnih(int x, int njiva[100])
    {
                    int j, sum=0;
                    for (j=0; j<x; j++)
                    {
                    if (njiva[j]%2==0)
                    sum+=njiva[j];
                    }
                    return sum;
    }


 
0 0 hvala 0
16 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

printf ("\nZbroj parnih brojeva je %d", zbrojparnih(int n, int polje[100]));


prebaci u

 

printf ("\nZbroj parnih brojeva je %d", zbrojparnih(n, polje));

 


Funkciju pozivaš sa njenim argumentima, ne trebaš navodit tipove, to si rekao gore.

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
Moj PC  
0 0 hvala 1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice