Pomoć oko zadatka iz programiranja

poruka: 25
|
čitano: 3.634
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
neaktivan
offline
Pomoć oko zadatka iz programiranja

Ovako, trebo bi malu pomoć:-) Kako nemam pojma o programiranju, a znam da ovdje ima vrsnih programera kojima ovo ne bi trebo bit problem napisat! Plaćam ćevape:-D

 

Zadatak ide ovako:

"Napisati funkciju koja pretražuje niz o maksimalno 100 ASCII znakova i nalazi sve brojeve u nizu te vraća zbroj svih neparnih brojeva u nizu."

 

Dakle ovo treba bit obični konzolni program gdje samo piše "Unesite niz od maksimalno 100 ASII znakova:", korisnik unese i program vrati "Zbroj svih neparnih brojeva u nizu je: XXXX".

Znači main funkcija iz koje se poziva ova funkcija.

 

U čemu ćete to napravit nije bitno, C, C++, C#, Java...

Uglavnom treba mi taj cijeli projekt iz npr. Visual Studia ako budete tamo radili. Po mogućnosti s nekim komentarima u kodu.

 

 

 

HVALA, HVALA, HVALA!;-)

Snake.. we're not tools of the government or anyone else. Fighting was the only thing... the only thing I was good at. But at least I always fought for what I believed in.. Snake... farewell
Poruka je uređivana zadnji put ned 25.4.2010 18:58 (Puhi).
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Pomoć oko zadatka iz programiranja

Evo u C-u:

 

#include <stdio.h>

int main()
{
    int i, suma=0, n, x; //suma inicijalizirana na 0, BITNO!!
    char c;

    do //odabiremo koliko cemo znakova ucitati. Ponavlja se dok n ne postane valjan
    {
       printf("Koliko znakova ces ucitati (maximalno 100) ? ");
       scanf("%d",&n);

       if (n<0 ||n>100)
          printf("Nisi dobro odabrao broj znakova koji ces ucitati. Probaj ponovo.\n");

    } while (n<0 || n>100);

    printf("Unesi %d znakova: \n",n);

    for (i=0;i<n;++i)//ucitavamo n znakova
    {
       scanf(" %c",&c); //kod ucitavanja char-ova razmak ispred da ne ucitava \n
       if (c>='0' && c<='9') //ako je znamenka
       {
          x=c-'0'; //ovo je int koji je jednak toj znamenci
          if (x%2==1) suma+=x; //ako neparan povecaj sumu
       }

    }

    printf("Suma je: %d\n", suma);//ispis sume
    return 0;
}

17 godina
protjeran
offline
RE: Pomoć oko zadatka iz programiranja

Ja bih ovdje svakako koristio polje i umjesto

 

scanf(" %c",&c); //kod ucitavanja char-ova razmak ispred da ne ucitava \n

 

napravio

 

char niz[100];

scanf("%100s", niz);

 

i tek onda kroz for petlju provjerio da li je riječ o parnom broju. Tada ne bi bila potrebna niti početna do-while petlja.

Poruka je uređivana zadnji put pon 26.4.2010 9:53 (Tracer).
16 godina
neaktivan
offline
RE: Pomoć oko zadatka iz programiranja

Može i tako, naravno, ali jer nije potrebno spremat polje, šteta memorije (iako se radi o malim charovima) :D

17 godina
neaktivan
offline
Pomoć oko zadatka iz programiranja
Hvala puno obojici! E sad me zanim jel ja to mogu kopajlirat u VS 2008 C++ Express Edition? Mislim ja kompajliram, al kad unesem znakove i stisnem enter program se gasi.

I drugo pitanje jel se može to napravit tako da se main odvoji od ove funkcije, znači da se iz maina odmah pozove ta funkcija koja radi to što se traži?

Unaprijed HVALA!
Snake.. we're not tools of the government or anyone else. Fighting was the only thing... the only thing I was good at. But at least I always fought for what I believed in.. Snake... farewell
 
0 0 hvala 0
17 godina
offline
Pomoć oko zadatka iz programiranja

Imam i ja nešto, mada nije baš običaj davati gotov kod (tako da znaš), ali dugo si na forumu, nisi leteći pa imaš popust:

 

#include<iostream>
using namespace std;

int neparan(char polje[], int n) {
    int i, x, s=0;
    for(i=0; i<n; i++)
       if(polje[i]>=48 && polje[i]<=57) {
          x = polje[i] - 48;
          if(x%2)
             s+=x;
       }
return s;
}

void main() {
    int a, i, n;
    char polje[100];

    do {
       cout<< "\nUcitaj broj znakova - max 100: ";
       cin>> n;
       if(n<1 || n>100)
          cout<< "Broj znakova mora biti max 100!";
    }
    while(n<1 || n>100);

    cout<< "Unesi " << n << " znakova: " << "\n";
    for(i=0; i<n; i++)
       cin>> polje[i];
    a = neparan(polje, n);
    cout<< "Suma svih neparnih brojeva u nizu: " << a << "\n";
}

komentare imaš kod LuukeNamigiva

pogledaj kako ćeš compilirati kod u MS Visual C++ 2008.

Poruka je uređivana zadnji put pon 26.4.2010 22:09 (Floki).
 
0 0 hvala 1
17 godina
offline
Pomoć oko zadatka iz programiranja

Ovaj ti je malo elegantniji, odrediš memorije za polje baš koliko odrediš znakova tj. realiziraš polje pokazivačom.

 

#include<iostream>
using namespace std;

int neparan(char polje[], int n) {
    int i, x, s=0;
    for(i=0; i<n; i++)
       if(polje[i]>=48 && polje[i]<=57) {
          x = polje[i] - 48;
          if(x%2)
             s+=x;
       }
return s;
}

void main() {
    int a, i, n;
    char* polje;

    do {
       cout<< "\nUcitaj broj znakova - max 100: ";
       cin>> n;
       if(n<1 || n>100)
          cout<< "Broj znakova mora biti max 100!";
    }
    while(n<1 || n>100);
    polje = (char*)malloc(n);

    cout<< "Unesi " << n << " znakova: " << "\n";
    for(i=0; i<n; i++)
       cin>> polje[i];
    a = neparan(polje, n);
    cout<< "Suma svih neparnih brojeva u nizu: " << a << "\n";
    free(polje);
}










 
0 0 hvala 1
17 godina
neaktivan
offline
Pomoć oko zadatka iz programiranja
Odlično, hvala puno!!!:-)

Samo pitanjce, zašto koristiš 48 i 57? Znam da je to 0 i 9, ali jel ne bi trebalo onda 0 i 9 koristit? Ili on to automatski pretvori? Možda pitam gluposti:-D
Snake.. we're not tools of the government or anyone else. Fighting was the only thing... the only thing I was good at. But at least I always fought for what I believed in.. Snake... farewell
 
0 0 hvala 0
17 godina
offline
RE: Pomoć oko zadatka iz programiranja
Puhi kaže...
Odlično, hvala puno!!!:-)

Samo pitanjce, zašto koristiš 48 i 57? Znam da je to 0 i 9, ali jel ne bi trebalo onda 0 i 9 koristit? Ili on to automatski pretvori? Možda pitam gluposti:-D

ista ti je stvar da li si stavio 48 ili '0'. int možeš pretvoriti u char i obrnuto, bitno je da si skužio da je to jedno te isto

x = polje[i] - 48

pošto ti je x int varijkabla, a polje[i] char varijabla, npr, ako je polje[i] char znak '9', u stvari oduzimaš 57-48, i dobijaš int vrijednost 9

x = polje[i] - '0';

x = polje[i] - 48;

ista stvar, isti rezultat

 

char znak '9' - njegova ASCII vrijednost 57

ne brkaj '9' i 9

prvi je char znak, a drugi cijeli broj 9

 

Poruka je uređivana zadnji put uto 27.4.2010 19:04 (Floki).
17 godina
neaktivan
offline
Pomoć oko zadatka iz programiranja
E odlično:-)

Evo uspio sam kompajlirat i radi zasad sve:-D

Mnogo hvala!!!

Koristio sam ovaj drugi kod. Znači i prvi radi isto to, samo je ovaj drugi elegentiji:)
Snake.. we're not tools of the government or anyone else. Fighting was the only thing... the only thing I was good at. But at least I always fought for what I believed in.. Snake... farewell
 
0 0 hvala 0
17 godina
offline
RE: Pomoć oko zadatka iz programiranja
Puhi kaže...
E odlično:-)

Evo uspio sam kompajlirat i radi zasad sve:-D

Mnogo hvala!!!

Koristio sam ovaj drugi kod. Znači i prvi radi isto to, samo je ovaj drugi elegentiji:)

upravo to, drugi rezervira memorije koliko je potrebno za polje, a prvi uvijek 100 bajtova

a rade potpuno isto

16 godina
neaktivan
offline
Pomoć oko zadatka iz programiranja

"Steta memorije"... odvalio sam od smijeha :-D Sorry, morao sam to komentirati.

Don't try to undertand if you weren't there... you felt different then - Marching off to War...
 
2 0 hvala 0
16 godina
odjavljen
offline
RE: Pomoć oko zadatka iz programiranja
Puhi kaže...
Mislim ja kompajliram, al kad unesem znakove i stisnem enter program se gasi.  

Evo zašto nije dobro davat gotova rješenja. Ljudi ti slože sve gotovo, a ti ne znaš ubacit scanf na kraju da pričeka znak s tipkovnice prije zatvaranja programa.

U životu ne postoje pobjednici, samo preživjeli.
16 godina
neaktivan
offline
RE: Pomoć oko zadatka iz programiranja
Deus ex machina kaže...

"Steta memorije"... odvalio sam od smijeha :-D Sorry, morao sam to komentirati.

Nema beda :D A kad stvarno šteta :D

17 godina
neaktivan
offline
RE: Pomoć oko zadatka iz programiranja
MrBlc kaže...
Puhi kaže...
Mislim ja kompajliram, al kad unesem znakove i stisnem enter program se gasi.  

Evo zašto nije dobro davat gotova rješenja. Ljudi ti slože sve gotovo, a ti ne znaš ubacit scanf na kraju da pričeka znak s tipkovnice prije zatvaranja programa.

 

Da i?:-) Pa nije mene sramota što ne znam:)

Pa ako ne znam ni to, šta misliš kako bi onda riješio problem da mi je dato djelomično rješenje!?:-P

 

Ko pita, ne skita:)

Snake.. we're not tools of the government or anyone else. Fighting was the only thing... the only thing I was good at. But at least I always fought for what I believed in.. Snake... farewell
16 godina
odjavljen
offline
RE: Pomoć oko zadatka iz programiranja
Puhi kaže...

 

Da i?:-) Pa nije mene sramota što ne znam:)

Pa ako ne znam ni to, šta misliš kako bi onda riješio problem da mi je dato djelomično rješenje!?:-P

 

Ko pita, ne skita:)

Krenio bi od nečega, malo prosurfao, imao neku viziju. Možda bi radilo, možda ne bi. Ako ne bi radilo pitao bi pto ne štima, ako ne bi znao neku konkretnu stvar pitao bi konkretno pitanje. Netko bi ti napisao dio koji ti nedostaje ili ti je pogrešan i što je najvažnije u tom procesu bi nešto naučio. Programirati ne možeš naučit samo čitajući kod već metodom pokušaja, pogreške i kopanja dokumentacije.

U životu ne postoje pobjednici, samo preživjeli.
17 godina
neaktivan
offline
RE: Pomoć oko zadatka iz programiranja
Ali ja ni ne zelim naucit programirat! Niti me to zanima.
Ovaj zadatak mi je bio nuzno zlo:)
Snake.. we're not tools of the government or anyone else. Fighting was the only thing... the only thing I was good at. But at least I always fought for what I believed in.. Snake... farewell
17 godina
protjeran
offline
RE: Pomoć oko zadatka iz programiranja
Puhi kaže...
Ali ja ni ne zelim naucit programirat! Niti me to zanima.
Ovaj zadatak mi je bio nuzno zlo:)

Drugim riječima, truditi se tebi pomoći je bezvezno trošenje vlastitog vremena. To sam odmah vidio čim nisi znao koristiti niti gotovo rješenje.

Poruka je uređivana zadnji put pet 30.4.2010 11:17 (Tracer).
17 godina
offline
RE: Pomoć oko zadatka iz programiranja
MrBlc kaže...
Puhi kaže...
Mislim ja kompajliram, al kad unesem znakove i stisnem enter program se gasi.  

Evo zašto nije dobro davat gotova rješenja. Ljudi ti slože sve gotovo, a ti ne znaš ubacit scanf na kraju da pričeka znak s tipkovnice prije zatvaranja programa.

Ovisi sve što su nekom prioriteti, njemu je vjerojatno samo trebao kod za nešto, a nema namjeru učiti prograirati

Onom tko namjerava učiti programirati, nema svrhe tražiti gotov kod, jer tako neće naučiti ništa, i tu si potpuno u pravu

 

Poruka je uređivana zadnji put pet 30.4.2010 11:30 (Floki).
17 godina
neaktivan
offline
RE: Pomoć oko zadatka iz programiranja
Tracer kaže...
Puhi kaže...
Ali ja ni ne zelim naucit programirat! Niti me to zanima.
Ovaj zadatak mi je bio nuzno zlo:)

Drugim riječima, truditi se tebi pomoći je bezvezno trošenje vlastitog vremena. To sam odmah vidio čim nisi znao koristiti niti gotovo rješenje.

 

 

Ne znam zatšo si ona uopće išo i postat u ovaj topic!? Ako nećeš pomoć ne moraš, nitko te ne tera na to.

 

Lijepo sam tražio pomoć, ljudi su pomogli (hvala još jednom:-) ) i ti sad pametuješ tu nešto.

 

 

Snake.. we're not tools of the government or anyone else. Fighting was the only thing... the only thing I was good at. But at least I always fought for what I believed in.. Snake... farewell
17 godina
protjeran
offline
RE: Pomoć oko zadatka iz programiranja
Puhi kaže...
Tracer kaže...
Puhi kaže...
Ali ja ni ne zelim naucit programirat! Niti me to zanima.
Ovaj zadatak mi je bio nuzno zlo:)

Drugim riječima, truditi se tebi pomoći je bezvezno trošenje vlastitog vremena. To sam odmah vidio čim nisi znao koristiti niti gotovo rješenje.

 

 

Ne znam zatšo si ona uopće išo i postat u ovaj topic!? Ako nećeš pomoć ne moraš, nitko te ne tera na to.

 

Lijepo sam tražio pomoć, ljudi su pomogli (hvala još jednom:-) ) i ti sad pametuješ tu nešto.

 

 

Ja sam komentirao tuđe rješenje tj. da pomognem osobi koja je to rješila da vidi koje su alternative. Ta osoba ima bar predznanje da razumije to što komentiram jer je to pokazala rješenjem zadatka dok ti si odmah na početku napisao da nemaš pojma o programiranju, a kasnije da te to niti ne zanima. Stoga, ti sigurno nisi razlog zašto ja pišem/pomažem ovdje jer niti si pokazao trud, rad a niti zanimanje.

16 godina
neaktivan
offline
RE: Pomoć oko zadatka iz programiranja
Puhi kaže...

Ne znam zatšo si ona uopće išo i postat u ovaj topic!? Ako nećeš pomoć ne moraš, nitko te ne tera na to.

Lijepo sam tražio pomoć, ljudi su pomogli (hvala još jednom:-) ) i ti sad pametuješ tu nešto.

Ej ne mozes se tako obracati osobi koja ti je pomogla u topicu.... ne slazem se s njime jer mi je apsolutno jasno da netko ne zeli uciti programirati, a eto mora, ali ipak neki nivo kulture bi trebao postojati.

Don't try to undertand if you weren't there... you felt different then - Marching off to War...
17 godina
offline
RE: Pomoć oko zadatka iz programiranja
Tracer kaže...
Puhi kaže...
Tracer kaže...
Puhi kaže...
Ali ja ni ne zelim naucit programirat! Niti me to zanima.
Ovaj zadatak mi je bio nuzno zlo:)

Drugim riječima, truditi se tebi pomoći je bezvezno trošenje vlastitog vremena. To sam odmah vidio čim nisi znao koristiti niti gotovo rješenje.

 

 

Ne znam zatšo si ona uopće išo i postat u ovaj topic!? Ako nećeš pomoć ne moraš, nitko te ne tera na to.

 

Lijepo sam tražio pomoć, ljudi su pomogli (hvala još jednom:-) ) i ti sad pametuješ tu nešto.

 

 

Ja sam komentirao tuđe rješenje tj. da pomognem osobi koja je to rješila da vidi koje su alternative. Ta osoba ima bar predznanje da razumije to što komentiram jer je to pokazala rješenjem zadatka dok ti si odmah na početku napisao da nemaš pojma o programiranju, a kasnije da te to niti ne zanima. Stoga, ti sigurno nisi razlog zašto ja pišem/pomažem ovdje jer niti si pokazao trud, rad a niti zanimanje.

To definitivno stoji, ti nesebično pomažeš onima koji hoće učiti, a mnogo puta smo se ovdje uvjerili po znanju učenika u ravnodušnost profesora koji ih uče. Hvala ti za to što imaš entuzijazam i volju pomoći.

Doduše, ja sam mu ono pomogao, vjerojatno bi on bio malo ljubazniji da zna da sam ja  ono što sam napisao njemu naučio od tebeNamigiva

15 godina
neaktivan
offline
Pomoć oko zadatka iz programiranja

Pozdrav! Imam problem sa stringovima u jeziku C. Moze li neko da mi ukratko objasni kako da uradim jedan zadatak. Profesor koji mi predaje programiranje je informaticar i slabo objasnjava. Zadatak glasi ovako: program treba da izracuna broj pojavljivanja datog znaka u datom nizu npr. u pitanju je broj pojavljivanja znaka a u nizu: ja sam student, Petar Petrovic .

 
0 0 hvala 0
17 godina
protjeran
offline
Pomoć oko zadatka iz programiranja

za i = 0 do duljina_niza

    ako je niz[i] == trazeni_znak

        brojac++

Moj PC  
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice