C++ zadatak-help!

poruka: 20
|
čitano: 4.333
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
C++ zadatak-help!

Pozdrav!

 

Molio bih pomoć u vezi ovog zadatka.Naime trebam napisati program koji će ispisati 5 znamenkasti broj i ispisati zbroj parnih znamenki.

Pri tome smijem koristiti samo naredbe printf, scanf i float.

 

Tek sam počeo učit c++ i nisam baš vješt u tome,pa ako neko zna molio bih da mi odgovori....

 

Zahvaljujem

Welcome to my nightmare!
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: C++ zadatak-help!
pc ovisnik kaže...

Pozdrav!

 

Molio bih pomoć u vezi ovog zadatka.Naime trebam napisati program koji će ispisati 5 znamenkasti broj i ispisati zbroj parnih znamenki.

Pri tome smijem koristiti samo naredbe printf, scanf i float.

 

Tek sam počeo učit c++ i nisam baš vješt u tome,pa ako neko zna molio bih da mi odgovori....

 

Zahvaljujem

Zbroj parnih znamenaka - valjda se misli na zbroj znamenaka čiji je redni broj u broju paran? Pod pretpostavkom da 1. znamenka ima redni broj 1, treba zbrojiti 2. i 4. znamenku.

 

Neka je broj 98765. Najjednostavniji način koji mi pada na pamet zahtijeva i int tip podataka koji nisi ubrojio među funkcije i tipove u gornjem popisu.

 

int broj; /* ... */

 

float rezultat =

((broj / 10) % 10)  // podijeliš li broj s 10 dobivaš 9876. Ostatak dijeljenja (tomu služi operator %) toga s 10 je 6; a to je 4. znamenka

+

((broj / 1000) % 10) // podijeliš li broj s 1000 dobivaš 98...

;

The candle flame gutters. Its little pool of light trembles. Darkness gathers. The demons begin to stir.
16 godina
neaktivan
offline
RE: C++ zadatak-help!
pc ovisnik kaže...

Pozdrav!

 

Molio bih pomoć u vezi ovog zadatka.Naime trebam napisati program koji će ispisati 5 znamenkasti broj i ispisati zbroj parnih znamenki.

Pri tome smijem koristiti samo naredbe printf, scanf i float.

 

Tek sam počeo učit c++ i nisam baš vješt u tome,pa ako neko zna molio bih da mi odgovori....

 

Zahvaljujem

Pa mogao bi nešto ovako:

ucitas broj s scanf

ima npr broj 12345

oduzimas 10000 dok broj nije manji od 10000

pa oduzimas 1000 sve dok broj nije manji od 1000

i tako isto za 100 pa 10 pa 1, i u svakom koraku brojis koliko si puta

oduzeo pojedini broj od zadanog broja tj. 12345

 

U slucaju da je broj 12345 bi dobio npr.

a = 1 (za oduzimanje 10000)

b = 2 (oduzimnanje 1000)

c = 3 , d=4 itd...

na kraju zbrojis sve rezultate kod kojih je (rezultat % 2 == 0)

 

printf zbroj_rezultata

 

EDIT: ovo je za slucaj da trebas zbrajati sve parne brojeve unutar broja,

isto bi se moglo postici s itf4n-ovim rejsenjem ako ti to treba, jer je nesto naprednije

samo zbrajas ostatke koje kod kojih je (broj % 2 == 0), ako bas trebas zbrajati parne

brojeve a ne one na parnim pozicijama...

All religions are the same: religion is basically guilt, with different holidays.
Poruka je uređivana zadnji put pon 25.1.2010 22:39 (drnde).
16 godina
neaktivan
offline
RE: C++ zadatak-help!
drnde kaže...

Pa mogao bi nešto ovako:

ucitas broj s scanf

ima npr broj 12345

oduzimas 10000 dok broj nije manji od 10000

pa oduzimas 1000 sve dok broj nije manji od 1000

i tako isto za 100 pa 10 pa 1, i u svakom koraku brojis koliko si puta

oduzeo pojedini broj od zadanog broja tj. 12345

 

U slucaju da je broj 12345 bi dobio npr.

a = 1 (za oduzimanje 10000)

b = 2 (oduzimnanje 1000)

c = 3 , d=4 itd...

na kraju zbrojis sve rezultate kod kojih je (rezultat % 2 == 0)

 

printf zbroj_rezultata

 

EDIT: ovo je za slucaj da trebas zbrajati sve parne brojeve unutar broja,

isto bi se moglo postici s itf4n-ovim rejsenjem ako ti to treba, jer je nesto naprednije

samo zbrajas ostatke koje kod kojih je (broj % 2 == 0), ako bas trebas zbrajati parne

brojeve a ne one na parnim pozicijama...

 

jel bi mi mogao napisat programski kod ? probao sam sam,ali mi baš i ne ide....

Welcome to my nightmare!
16 godina
neaktivan
offline
RE: C++ zadatak-help!
pc ovisnik kaže...
drnde kaže...
....

 

jel bi mi mogao napisat programski kod ? probao sam sam,ali mi baš i ne ide....

Pa postaj što si sam napravio, pa ćemo ti pomoć... ako je negdje zapelo...

All religions are the same: religion is basically guilt, with different holidays.
16 godina
neaktivan
offline
C++ zadatak-help!

nezz točno kako bi trebalo....počeo sam radit po jednom primjeru koji je profesor napravio u školi,ali nezz da li sam na dobrom putu:

 

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int a,b,c,d,e,f,z1,z2,z3,z4,z5
    printf("Unesi broj : ");
    scanf("%i",&a);
    z1=(a/10000)%10;
    z2=(a/1000)%10;
    z3=(a/100)%10
    z4=(a/10)%10
    z5=a&10;
   
    zbroj=z1+z2+z3+z4+z5
  printf("%i\n",zbroj  );
  system("PAUSE");   
  return 0;
}

 

molim Vas recite da li je dobro, il treba nekak drugčije... kak probam to pokrenut baca mi neki error.

Welcome to my nightmare!
Moj PC  
0 0 hvala 0
15 godina
offline
RE: C++ zadatak-help!

tu ti je više toga krivo. Inače, compiler se fino pobuni i napiše što mu ne paše :D

 

1. kad učitavaš integer ide %d, a ne %i

2. z5=a&10; je krivo, tu ide % umjesto &, vjerojatno lapsus kod pisanja

3. nemaš nigdje deklariranu varijablu zbroj

4. ispisivanje integera ide sa %d a ne %i

 

male tehničke zamjerke koje namju veze sa invršavanjem koda:

1. int main(int argc, char *argv[]) možeš stavit int main() pošto ne koristiš varijable komandne linije

2. int a,b,c,d,e,f,z1,z2,z3,z4,z5 Puno si ih deklarirao, malo ih koristiš ;)

3. z1=(a/10000)%10; - ako je broj peteroznamenkast, ovaj %10 niš ne znači :D

 

btw se to može napravit sa jednom petljom (ako ste radili petlje), i ovako ne računaš zbroj parnih znamenki, nego svih, pa ti neki if-ovi trebaju :D

Poruka je uređivana zadnji put uto 26.1.2010 20:15 (Luuka).
16 godina
offline
C++ zadatak-help!

ne kužim kako bi on mogao izračunati zbroj parnih znamenki bez naredbe if,

ovo što ima je zbroj svih znamenki,

a zabranjeno mu je korištenje if naredbe

Poruka je uređivana zadnji put uto 26.1.2010 20:31 (Floki).
 
0 0 hvala 0
15 godina
offline
RE: C++ zadatak-help!

Može bez ifa ;). Ako su z1,z2,z3 znamenke onda je

zbroj = ((z1+1)%2)*z1+ ((z2+1)%2)*z2+((z3+1)%2)*z3

zbroj onih parnih :D

 

objašnjenje:

ako je z1 paran, onda je z1+1 neparan, pa je (z1+1)%2=1 i taj broj će se pribrojit u sumu

ako je z1 neparan, onda je z1+1 paran, pa je (z1+1)%2=0, pa se on neće pribrojit u sumu

16 godina
offline
RE: C++ zadatak-help!
Luuka kaže...

Može bez ifa ;). Ako su z1,z2,z3 znamenke onda je

zbroj = ((z1+1)%2)*z1+ ((z2+1)%2)*z2+((z3+1)%2)*z3

zbroj onih parnih :D

 

objašnjenje:

ako je z1 paran, onda je z1+1 neparan, pa je (z1+1)%2=1 i taj broj će se pribrojit u sumu

ako je z1 neparan, onda je z1+1 paran, pa je (z1+1)%2=0, pa se on neće pribrojit u sumu

genijalno, nema što

16 godina
neaktivan
offline
RE: C++ zadatak-help!
pc ovisnik kaže...

nezz točno kako bi trebalo....počeo sam radit po jednom primjeru koji je profesor napravio u školi,ali nezz da li sam na dobrom putu:

 

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
   int a,b,c,d,e,f,z1,z2,z3,z4,z5
    printf("Unesi broj : ");
    scanf("%i",&a);
    z1=(a/10000)%10;
    z2=(a/1000)%10;
    z3=(a/100)%10
    z4=(a/10)%10
    z5=a&10;
   
   zbroj=z1+z2+z3+z4+z5
  printf("%i\n",zbroj  );
  system("PAUSE");   
  return 0;
}

 

molim Vas recite da li je dobro, il treba nekak drugčije... kak probam to pokrenut baca mi neki error.

Nevezano za prijedloge koje si dobio za samo računanje, trebao bi obračati i pozornost na upotrebu točka zareza,

jer ti nedostaje dosta istih u programu, a to ti je sigurno i među ostalom napomenuo kompajler...

 

E da i nebi trebao korisiti system("pause") rade jednostavno korisiti getchar();

All religions are the same: religion is basically guilt, with different holidays.
Poruka je uređivana zadnji put uto 26.1.2010 21:06 (drnde).
16 godina
offline
C++ zadatak-help!

evo, to bi ti bilo to:

 

#include<stdio.h>



void main() {
    int a, z1, z2, z3, z4, z5, zbroj;
    printf("Unesi peteroznamenkasti broj: ");
    scanf("%d", &a);

    z1=(a/10000);
    z2=((a/1000)%10);
    z3=((a/100)%10);
    z4=((a/10)%10);
    z5=(a%10);

    zbroj = ((z1+1)%2)*z1+((z2+1)%2)*z2+((z3+1)%2)*z3+((z4+1)%2*z4+((z5+1)%2*z5));

    printf("Zbroj parnih znamenki broja %d = %d", a, zbroj);
   
}

 
1 0 hvala 1
15 godina
offline
RE: C++ zadatak-help!

Kod računanja zbroja, pazi na prioritete opratora, rekao bih da * ima veći prioritet od %, pa ubaci zagrade :D

 

Inače, još jedna naredba za zaustavljanje toka programa je scanf("%%"); prije returna. Uz to, neki compileri se bune na void main() pa je bolje tu stavit int main(), i na kraju retun 0 :D

 

Također, bila bi dobra provjera dal je uneseni broj stvarno peteroznamenkast, al tu mora if :D

16 godina
neaktivan
offline
RE: C++ zadatak-help!
Floki kaže...

evo, to bi ti bilo to:

 

#include<stdio.h>



void main() {
    int a, z1, z2, z3, z4, z5, zbroj;
    printf("Unesi peteroznamenkasti broj: ");
    scanf("%d", &a);

    z1=(a/10000);
    z2=((a/1000)%10);
    z3=((a/100)%10);
    z4=((a/10)%10);
    z5=(a%10);

    zbroj = ((z1+1)%2)*z1+((z2+1)%2)*z2+((z3+1)%2)*z3+((z4+1)%2*z4+((z5+1)%2*z5));

    printf("Zbroj parnih znamenki broja %d = %d", a, zbroj);
   
}

 

 

probao sam i sve radi....PUNO PUNO HVALA!!!Smijeh

Welcome to my nightmare!
16 godina
offline
C++ zadatak-help!

ne meni

zahvali luuki, ja sam njega pitao foru sa zbrajanjem samo parnih znamenki bez if naredbe

prouči i skuži gdje si griješio, dobro se i analizom učiCool

 
0 0 hvala 0
15 godina
neaktivan
offline
RE: C++ zadatak-help!

TREBA MI ALGORITAM ZA:

 

  "Zadani broj a uvećava 100 puta ako je a manji od 100, a inače a umanji za 100.

chvarko_007 --- http://chvarkonet.blogspot.com/
15 godina
offline
RE: C++ zadatak-help!

Nema tu nikakvog algoritma, samo ovo kaj si napiso napisat kao kod :D

konkretno, imaš:

 

AKO a<100 POVEĆAJ a 100 puta

INAČE a SMANJI za 100

 

kao kod u c (c++)-u to izgleda:

 

if (a<100) a=100*a;

else a=a-100;

 

 

kraće bi to bilo

if (a<100) a*=100;

else a-=100;

 

a još kraće

(a<100 ? a*=100 : a-=100)

Poruka je uređivana zadnji put pon 1.2.2010 18:00 (Luuka).
15 godina
neaktivan
offline
RE: C++ zadatak-help!

JA BIH TREBAO DIJAGRAM TIJEKA!!!

ILI PSEUDOKOD!

HITNO!

chvarko_007 --- http://chvarkonet.blogspot.com/
15 godina
neaktivan
offline
RE: C++ zadatak-help!
JA BIH TREBAO DIJAGRAM TIJEKA!!!
chvarko_007 --- http://chvarkonet.blogspot.com/
16 godina
neaktivan
offline
RE: C++ zadatak-help!
chvarko_007 kaže...

JA BIH TREBAO DIJAGRAM TIJEKA!!!

ILI PSEUDOKOD!

HITNO!

Luuka kaže...

AKO a<100 POVEĆAJ a 100 puta

INAČE a SMANJI za 100

 

 

The candle flame gutters. Its little pool of light trembles. Darkness gathers. The demons begin to stir.
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice