Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

DZ 4 i 5 (zadatak)
WWW:
Idite na Prethodno  1, 2, 3, 4 ... 11, 12, 13  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
slonic~tonic
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 10. 2011. (14:16:34)
Postovi: (84)16
Spol: žensko
Sarma = la pohva - posuda
= 5 - 4

PostPostano: 11:23 čet, 8. 12. 2011    Naslov: Citirajte i odgovorite

hvala! :)
hvala! Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku
slonic~tonic
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 10. 2011. (14:16:34)
Postovi: (84)16
Spol: žensko
Sarma = la pohva - posuda
= 5 - 4

PostPostano: 10:52 pet, 9. 12. 2011    Naslov: Citirajte i odgovorite

Napišite program koji učitava prirodni broj n<131, te niz od n cijelih brojeva. Program treba pronaći najveći element niza djeljiv s 19, te u originalnom poretku ispisati indekse onih elementa niza kojima je prva znamenka jedna od znamenki pronađenog maksimuma.
Ako traženi maksimum ne postoji, program ne smije ništa ispisati. Ispisane brojeve odvojite razmacima.

da li se mora ispisati i indeks maksimuma?? ili se on mora izbrisati iz niza???
Napišite program koji učitava prirodni broj n<131, te niz od n cijelih brojeva. Program treba pronaći najveći element niza djeljiv s 19, te u originalnom poretku ispisati indekse onih elementa niza kojima je prva znamenka jedna od znamenki pronađenog maksimuma.
Ako traženi maksimum ne postoji, program ne smije ništa ispisati. Ispisane brojeve odvojite razmacima.

da li se mora ispisati i indeks maksimuma?? ili se on mora izbrisati iz niza???


[Vrh]
Korisnički profil Pošaljite privatnu poruku
slonic~tonic
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 10. 2011. (14:16:34)
Postovi: (84)16
Spol: žensko
Sarma = la pohva - posuda
= 5 - 4

PostPostano: 13:31 pet, 9. 12. 2011    Naslov: Citirajte i odgovorite

Napišite program koji učitava prirodni broj n<131, te niz od n cijelih brojeva. Program treba pronaći najveći element niza djeljiv s 19, te u originalnom poretku ispisati indekse onih elementa niza kojima je prva znamenka jedna od znamenki pronađenog maksimuma.
Ako traženi maksimum ne postoji, program ne smije ništa ispisati. Ispisane brojeve odvojite razmacima.

#include <stdio.h>
int z(int x) {
int z;
while(x>9) x/=10;
z=x;
return x;
}
int main(void) {
int i, n, x[131], max, k, j=0, zn[100], maxi, uvjet=1;
scanf("%d", &n);
for(i=0;i<n;i++)
scanf("%d", &x[i]);
for(i=0;i<n;i++) {
if(x[i]%19==0) {
max=x[i];
maxi=i;
uvjet=1;
break;
}
else uvjet=0;
}
if(uvjet=0) {
return 0;
}
for(i=0;i<n;i++) {
if(x[i]%19==0) {
if(x[i]>max) {
max=x[i];
maxi=i;
}
}
}
while(max>0) {
zn[j]=max%10;
j++;
max=max/10;
}
for(i=0;i<n;i++) {
if(i==maxi) continue;
for(k=0;k<=j;k++) {
if(z(x[i])==zn[k]) printf("%d ", i);
}
}
return 0;
}

stvarno ne vidim di grijesim :(
Napišite program koji učitava prirodni broj n<131, te niz od n cijelih brojeva. Program treba pronaći najveći element niza djeljiv s 19, te u originalnom poretku ispisati indekse onih elementa niza kojima je prva znamenka jedna od znamenki pronađenog maksimuma.
Ako traženi maksimum ne postoji, program ne smije ništa ispisati. Ispisane brojeve odvojite razmacima.

#include <stdio.h>
int z(int x) {
int z;
while(x>9) x/=10;
z=x;
return x;
}
int main(void) {
int i, n, x[131], max, k, j=0, zn[100], maxi, uvjet=1;
scanf("%d", &n);
for(i=0;i<n;i++)
scanf("%d", &x[i]);
for(i=0;i<n;i++) {
if(x[i]%19==0) {
max=x[i];
maxi=i;
uvjet=1;
break;
}
else uvjet=0;
}
if(uvjet=0) {
return 0;
}
for(i=0;i<n;i++) {
if(x[i]%19==0) {
if(x[i]>max) {
max=x[i];
maxi=i;
}
}
}
while(max>0) {
zn[j]=max%10;
j++;
max=max/10;
}
for(i=0;i<n;i++) {
if(i==maxi) continue;
for(k=0;k⇐j;k++) {
if(z(x[i])==zn[k]) printf("%d ", i);
}
}
return 0;
}

stvarno ne vidim di grijesim Sad


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 14:53 pet, 9. 12. 2011    Naslov: Citirajte i odgovorite

[quote="slonic~tonic"]da li se mora ispisati i indeks maksimuma?? ili se on mora izbrisati iz niza???[/quote]

Naravno. Nigdje ne pise da maksimum ima ikakvi posebni tretman.
slonic~tonic (napisa):
da li se mora ispisati i indeks maksimuma?? ili se on mora izbrisati iz niza???


Naravno. Nigdje ne pise da maksimum ima ikakvi posebni tretman.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
mila majka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 10. 11. 2011. (16:33:35)
Postovi: (13)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 19:49 pet, 9. 12. 2011    Naslov: Citirajte i odgovorite

Help.

Napišite program koji učitava prirodni broj n, te po redu ispisuje n malih slova engleskog alfabeta, počevši sa slovom 'h'. Ispisana slova odvojite razmacima. Ako je n prevelik, ispis treba stati sa slovom 'z'.

Nemam ni ideju kako početi, pa ako može par hintova, bio bih zahvalan :)
Help.

Napišite program koji učitava prirodni broj n, te po redu ispisuje n malih slova engleskog alfabeta, počevši sa slovom 'h'. Ispisana slova odvojite razmacima. Ako je n prevelik, ispis treba stati sa slovom 'z'.

Nemam ni ideju kako početi, pa ako može par hintova, bio bih zahvalan Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 20:16 pet, 9. 12. 2011    Naslov: Citirajte i odgovorite

Krense od [tt]c = 'h';[/tt] te u petlji povecavas [tt]c[/tt] i neki brojac. U svakom koraku provjeravas da [tt]c[/tt] nije veci od [tt]'z'[/tt] i da brojac nije prevelik. Alternativno, umjesto brojaca mozes smanjivati [tt]n[/tt] i paziti da ne ode u negativu.

Aritmetiku znakova smo radili u predavanju 10, s onom funkcijom koja prebacuje velika slova u mala (ili obratno).
Krense od c = 'h'; te u petlji povecavas c i neki brojac. U svakom koraku provjeravas da c nije veci od 'z' i da brojac nije prevelik. Alternativno, umjesto brojaca mozes smanjivati n i paziti da ne ode u negativu.

Aritmetiku znakova smo radili u predavanju 10, s onom funkcijom koja prebacuje velika slova u mala (ili obratno).



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
purist
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 20. 09. 2011. (23:16:53)
Postovi: (18)16
Spol: žensko
Sarma = la pohva - posuda
= 4 - 1

PostPostano: 1:57 ned, 11. 12. 2011    Naslov: Citirajte i odgovorite

Molim vas pojašnjenje na što se ovdje misli:

"Napišite program koji učitava prirodne brojeve a i b, te u rastućem poretku ispisuje sve cijele brojeve koji se nalaze između a i b (uključivo i a i b), a u zapisu s bazom 18 imaju samo znamenke djeljive sa 7. Ispisane brojeve odvojite razmacima. Ako takvih brojeva nema, program ispisuje poruku "Nema takvih brojeva.". Pazite da tekst bude naveden točno kako piše (bez navodnika)!
Oprez: može biti a<b ili a>b ili a=b!"

misli li se pod "znamenke djeljive sa 7" samo znamenka 7,ili i znamenka E u bazi 18, tj. "obična" četrnaestica?
Molim vas pojašnjenje na što se ovdje misli:

"Napišite program koji učitava prirodne brojeve a i b, te u rastućem poretku ispisuje sve cijele brojeve koji se nalaze između a i b (uključivo i a i b), a u zapisu s bazom 18 imaju samo znamenke djeljive sa 7. Ispisane brojeve odvojite razmacima. Ako takvih brojeva nema, program ispisuje poruku "Nema takvih brojeva.". Pazite da tekst bude naveden točno kako piše (bez navodnika)!
Oprez: može biti a<b ili a>b ili a=b!"

misli li se pod "znamenke djeljive sa 7" samo znamenka 7,ili i znamenka E u bazi 18, tj. "obična" četrnaestica?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 2:26 ned, 11. 12. 2011    Naslov: Citirajte i odgovorite

Ne razumijem pitanje. [tex](\text{E})_{18}[/tex] je samo drugaciji zapis onoga sto dekadski zapisujemo kao [tex]14[/tex]. Kao da pitas je li (rimsko) XIV djeljivo sa 7. Cetrnaest je cetrnaest, kako god ga zapisao.

Vise puta ponovljeno: razlikujte [b]broj[/b] i [b]zapis broja[/b]! :prodike:

Usput, ne zaboraviti i nulu.
Ne razumijem pitanje. [tex](\text{E})_{18}[/tex] je samo drugaciji zapis onoga sto dekadski zapisujemo kao [tex]14[/tex]. Kao da pitas je li (rimsko) XIV djeljivo sa 7. Cetrnaest je cetrnaest, kako god ga zapisao.

Vise puta ponovljeno: razlikujte broj i zapis broja! Drzim prodike

Usput, ne zaboraviti i nulu.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
purist
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 20. 09. 2011. (23:16:53)
Postovi: (18)16
Spol: žensko
Sarma = la pohva - posuda
= 4 - 1

PostPostano: 18:54 ned, 11. 12. 2011    Naslov: Citirajte i odgovorite

ali ja sad razumijem odgovor, hvala! :D
my bad, my bad...
ali ja sad razumijem odgovor, hvala! Very Happy
my bad, my bad...


[Vrh]
Korisnički profil Pošaljite privatnu poruku
ivanaaaa
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 24. 10. 2011. (19:36:26)
Postovi: (31)16
Sarma = la pohva - posuda
= 4 - 4

PostPostano: 18:44 pon, 12. 12. 2011    Naslov: Citirajte i odgovorite

molim pojašnjenje za zad:
Napišite program koji učitava prirodni broj n<31, te niz od n cijelih
brojeva. Program treba učitane brojeve ispisati padajuće sortirano prema sumi znamenaka u bazi 6; ako neka dva različita broja imaju jednaku sumu znamenaka u bazi 6, onda ih uspoređujete na uobičajeni način.

dakle, kad učitam niz, pretvorim sve članove u bazu 6, i tamo mu zbrojim znamenke i sortiram prema tome ili...?
i što znači ovo zadnje "uspoređujete na uobičajen način" ? :?

hvala..
molim pojašnjenje za zad:
Napišite program koji učitava prirodni broj n<31, te niz od n cijelih
brojeva. Program treba učitane brojeve ispisati padajuće sortirano prema sumi znamenaka u bazi 6; ako neka dva različita broja imaju jednaku sumu znamenaka u bazi 6, onda ih uspoređujete na uobičajeni način.

dakle, kad učitam niz, pretvorim sve članove u bazu 6, i tamo mu zbrojim znamenke i sortiram prema tome ili...?
i što znači ovo zadnje "uspoređujete na uobičajen način" ? Confused

hvala..


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 19:09 pon, 12. 12. 2011    Naslov: Citirajte i odgovorite

Nista ne pretvaras, nego racunas sume znamenaka u zadanoj bazi i to usporedjujes. Najlakse je sloziti funkciju [tt]int sum_zn(int broj);[/tt] i onda usporedjivati s
[tt]if (sum_zn(a[i]) < sum_zn(a[j]))...[/tt]

"Usporedjujete na uobicajeni nacin" znaci "[tt]a[i] < a[j][/tt]" (tako valjda "uobicajeno" usporedjujemo brojeve). :)
Nista ne pretvaras, nego racunas sume znamenaka u zadanoj bazi i to usporedjujes. Najlakse je sloziti funkciju int sum_zn(int broj); i onda usporedjivati s
if (sum_zn(a[i]) < sum_zn(a[j]))...

"Usporedjujete na uobicajeni nacin" znaci "a[i] < a[j]" (tako valjda "uobicajeno" usporedjujemo brojeve). Smile



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ivanaaaa
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 24. 10. 2011. (19:36:26)
Postovi: (31)16
Sarma = la pohva - posuda
= 4 - 4

PostPostano: 19:51 pon, 12. 12. 2011    Naslov: Citirajte i odgovorite

ok, ali zar nije bezveze izračunati sumu u bazi 6 i onda to uspoređivati kad bi valjda dobili isti niz kad bi uspoređivali te sume izračunate u bazi 10?
osim ak sam ponovo nešt krivo shvatila... :?
ok, ali zar nije bezveze izračunati sumu u bazi 6 i onda to uspoređivati kad bi valjda dobili isti niz kad bi uspoređivali te sume izračunate u bazi 10?
osim ak sam ponovo nešt krivo shvatila... Confused


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 20:24 pon, 12. 12. 2011    Naslov: Citirajte i odgovorite

Ne racunas "sumu u bazi", to je besmisleno. Racunanje je racunanje, vezano uz brojeve. Izraz "u bazi" vezan je uz nacin zapisa nekog broja. "Suma znamenaka u bazi 6" znaci "suma znamenaka koje imamo kad broj zapisemo u bazi 6", bas kako je radjeno na predavanjima (a, cini mi se, i na vjezbama).

Usporedi, na primjer, [tex](11)_{10} = (15)_6[/tex] i [tex](13)_{10} = (21)_{6}[/tex], po sumi znamenaka u bazi 10 (2 i 4) i po sumi znamenaka u bazi 6 (6 i 3). Nije bas isto, ne?
Ne racunas "sumu u bazi", to je besmisleno. Racunanje je racunanje, vezano uz brojeve. Izraz "u bazi" vezan je uz nacin zapisa nekog broja. "Suma znamenaka u bazi 6" znaci "suma znamenaka koje imamo kad broj zapisemo u bazi 6", bas kako je radjeno na predavanjima (a, cini mi se, i na vjezbama).

Usporedi, na primjer, [tex](11)_{10} = (15)_6[/tex] i [tex](13)_{10} = (21)_{6}[/tex], po sumi znamenaka u bazi 10 (2 i 4) i po sumi znamenaka u bazi 6 (6 i 3). Nije bas isto, ne?



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ivanaaaa
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 24. 10. 2011. (19:36:26)
Postovi: (31)16
Sarma = la pohva - posuda
= 4 - 4

PostPostano: 20:36 pon, 12. 12. 2011    Naslov: Citirajte i odgovorite

pa da, to sam pitala prvi puta...

ono "kad učitam niz, pretvorim sve članove u bazu 6, i tamo mu zbrojim znamenke i sortiram prema tome ili...? "
nisam mislila da ću pretvarat tamo u programu to, već da treba zbrojiti znamenke iz baze 6...pa uspoređivat te sume...
pa da, to sam pitala prvi puta...

ono "kad učitam niz, pretvorim sve članove u bazu 6, i tamo mu zbrojim znamenke i sortiram prema tome ili...? "
nisam mislila da ću pretvarat tamo u programu to, već da treba zbrojiti znamenke iz baze 6...pa uspoređivat te sume...


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 20:43 pon, 12. 12. 2011    Naslov: Citirajte i odgovorite

Onda da, tako, no kljucno zasto sam rekao da ne treba pretvarati je
[quote="ivanaaaa"]nisam mislila da ću pretvarat tamo u programu to[/quote]
Studenti jako vole "pretvarati" u programu, a to je skroz krivo, cak i ako zanemarimo cinjenicu da sortiranje treba razmjestiti, a ne izmijeniti clanove niza.
Onda da, tako, no kljucno zasto sam rekao da ne treba pretvarati je
ivanaaaa (napisa):
nisam mislila da ću pretvarat tamo u programu to

Studenti jako vole "pretvarati" u programu, a to je skroz krivo, cak i ako zanemarimo cinjenicu da sortiranje treba razmjestiti, a ne izmijeniti clanove niza.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ivanaaaa
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 24. 10. 2011. (19:36:26)
Postovi: (31)16
Sarma = la pohva - posuda
= 4 - 4

PostPostano: 21:29 pon, 12. 12. 2011    Naslov: Citirajte i odgovorite

nadam se da mi je ovo zadnje pitanje, ali nije mi jasno zašto mi prog nije točan, možda nešt krivo shvatila ili ko zna kaj previdjela...

zad: Napišite program koji učitava prirodni broj n<131, te niz od n cijelih brojeva. Program treba pronaći najveći element niza djeljiv s 10, te u originalnom poretku ispisati indekse onih elementa niza kojima je prva znamenka jedna od znamenki pronađenog maksimuma. Ako traženi maksimum ne postoji, program ne smije ništa ispisati. Ispisane brojeve odvojite razmacima.


[code:1]
#include <stdio.h>
int main (void)
{
int n, niz [131],o,i,max,m,k=0;
scanf ("%d", &n);

for (i=0;i<n; i++)
scanf ("%d", &niz[i]);

for (i=0;i<n; i++)
if (niz[i]%10==0) { max=niz[i]; k=1; break; }

for (i=0;i<n; i++)
if (niz [i]%10==0 && niz [i]>max) max=niz [i];

if (k) for (i=0;i<n;i++)
{
if (niz[i]<0) niz[i]=-niz[i];
if (niz[i]>0) {while (niz [i]>0)
{
o=niz [i]%10;
niz [i]/=10;
}
niz[i]=o;}
}

if (k) for (i=0;i<n;i++)
{
m=max;
while (m!=0)
{ o=m%10;
if (niz[i]==o || niz[i]==0)
{ printf("%d ",i); break; }
m/=10;
}}

return 0;
}


[/code:1]
nadam se da mi je ovo zadnje pitanje, ali nije mi jasno zašto mi prog nije točan, možda nešt krivo shvatila ili ko zna kaj previdjela...

zad: Napišite program koji učitava prirodni broj n<131, te niz od n cijelih brojeva. Program treba pronaći najveći element niza djeljiv s 10, te u originalnom poretku ispisati indekse onih elementa niza kojima je prva znamenka jedna od znamenki pronađenog maksimuma. Ako traženi maksimum ne postoji, program ne smije ništa ispisati. Ispisane brojeve odvojite razmacima.


Kod:

#include <stdio.h>
int main (void)
{
    int n, niz [131],o,i,max,m,k=0;
    scanf ("%d", &n);

    for (i=0;i<n; i++)
          scanf ("%d", &niz[i]);

    for (i=0;i<n; i++)
          if (niz[i]%10==0) { max=niz[i]; k=1;  break; }

    for (i=0;i<n; i++)
          if (niz [i]%10==0 && niz [i]>max) max=niz [i];

    if (k) for (i=0;i<n;i++)
    {
        if (niz[i]<0) niz[i]=-niz[i];
        if (niz[i]>0) {while (niz [i]>0)
       {
            o=niz [i]%10;
            niz [i]/=10;
       }
       niz[i]=o;}
    }

    if (k) for (i=0;i<n;i++)
      {
          m=max;
          while (m!=0)
              {    o=m%10;
         if (niz[i]==o || niz[i]==0)
                        { printf("%d ",i); break; }
            m/=10;
         }}

return 0;
}




[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 21:42 pon, 12. 12. 2011    Naslov: Citirajte i odgovorite

Cini mi se da ce ti za ucitanu nulu kao prvu znamenku zapamtiti prvu znamenku prethodno ucitanog broja (tj. neko smece ako je nula prva).

Cemu sluzi "[tt]|| niz[i]==0[/tt]" u zadnjoj petlji?

Inace, ako umjesto "[tt]niz[i]=o;[/tt]" stavis provjeru (unutrasnjost zadnje for-petlje, uz korekciju naziva varijable [tt]o[/tt]), dobit ces rjesenje koje ne mijenja niz, pa ti je lakse ubaciti debugging ispise (za slucaj da i dalje ne bude radilo kako treba).

Cak bi bilo elegantnije sloziti pomocnu funkciju [tt]int ima_zn(int br, int zn);[/tt] koja provjerava (vraca 0 ili 1) sadrzi li broj [tt]br[/tt] znamenku [tt]zn[/tt]. Tada umjesto "[tt]niz[i]=o;[/tt]" pises jednostavno
[tt]if (ima_zn(max, o)) printf("%d ", i);[/tt]
a zadnja petlja ti ne treba. IMO, prirodnije i preglednije.
Cini mi se da ce ti za ucitanu nulu kao prvu znamenku zapamtiti prvu znamenku prethodno ucitanog broja (tj. neko smece ako je nula prva).

Cemu sluzi "|| niz[i]==0" u zadnjoj petlji?

Inace, ako umjesto "niz[i]=o;" stavis provjeru (unutrasnjost zadnje for-petlje, uz korekciju naziva varijable o), dobit ces rjesenje koje ne mijenja niz, pa ti je lakse ubaciti debugging ispise (za slucaj da i dalje ne bude radilo kako treba).

Cak bi bilo elegantnije sloziti pomocnu funkciju int ima_zn(int br, int zn); koja provjerava (vraca 0 ili 1) sadrzi li broj br znamenku zn. Tada umjesto "niz[i]=o;" pises jednostavno
if (ima_zn(max, o)) printf("%d ", i);
a zadnja petlja ti ne treba. IMO, prirodnije i preglednije.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ivanaaaa
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 24. 10. 2011. (19:36:26)
Postovi: (31)16
Sarma = la pohva - posuda
= 4 - 4

PostPostano: 21:53 pon, 12. 12. 2011    Naslov: Citirajte i odgovorite

skužila sam da za nulu zapamti neki broj koji nije nula pa zato stavila one zagrade kad provjerava jel niz[i] >0, tak da nejde kroz dio :

[code:1] if (niz[i]>0) {while (niz [i]>0)
{
o=niz [i]%10;
niz [i]/=10;
}
niz[i]=o;} [/code:1]

već jednostavno nula ostane nula i zato mi nije jasno zašto nije dobro svejedno...

onaj ili u zadnjoj petlji je bespotreban..
skužila sam da za nulu zapamti neki broj koji nije nula pa zato stavila one zagrade kad provjerava jel niz[i] >0, tak da nejde kroz dio :

Kod:
 if (niz[i]>0) {while (niz [i]>0)
       {
            o=niz [i]%10;
            niz [i]/=10;
       }
       niz[i]=o;}


već jednostavno nula ostane nula i zato mi nije jasno zašto nije dobro svejedno...

onaj ili u zadnjoj petlji je bespotreban..


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 22:18 pon, 12. 12. 2011    Naslov: Citirajte i odgovorite

Ovo prvo nisam skuzio zbog cudnog rasporeda zagrada, sorry.

C-ovski, to bi se ovako pisalo:
[code:1]if (niz[i]>0)
{
while (niz [i]>0)
{
o=niz [i]%10;
niz [i]/=10;
}
niz[i]=o;
}[/code:1]
Ja pisem malo drugacije, no opet pregledno (otvorenu zagradu stavim na kraj prethodne linije, ali nista iza nje):
[code:1]if (niz[i] > 0) {
while (niz [i] > 0) {
o = niz[i] % 10;
niz[i] /= 10;
}
niz[i] = o;
}[/code:1]
Usput, ime "[tt]o[/tt]" nije najsretnije za varijablu, jer lako pobrkas s nulom.

Onaj "ili" nije bespotreban, nego pogresan. Zbog njega ti nula odgovara svakom broju, cak i ako maksimum nema znamenku nula. Moguce je u tome problem. :) Ako nije, probaj sloziti kako sam sugerirao u proslom postu. Preglednije je i puno lakse za naci gresku.
Ovo prvo nisam skuzio zbog cudnog rasporeda zagrada, sorry.

C-ovski, to bi se ovako pisalo:
Kod:
if (niz[i]>0)
{
  while (niz [i]>0)
  {
    o=niz [i]%10;
    niz [i]/=10;
  }
  niz[i]=o;
}

Ja pisem malo drugacije, no opet pregledno (otvorenu zagradu stavim na kraj prethodne linije, ali nista iza nje):
Kod:
if (niz[i] > 0) {
  while (niz [i] > 0) {
    o = niz[i] % 10;
    niz[i] /= 10;
  }
  niz[i] = o;
}

Usput, ime "o" nije najsretnije za varijablu, jer lako pobrkas s nulom.

Onaj "ili" nije bespotreban, nego pogresan. Zbog njega ti nula odgovara svakom broju, cak i ako maksimum nema znamenku nula. Moguce je u tome problem. Smile Ako nije, probaj sloziti kako sam sugerirao u proslom postu. Preglednije je i puno lakse za naci gresku.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ivanaaaa
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 24. 10. 2011. (19:36:26)
Postovi: (31)16
Sarma = la pohva - posuda
= 4 - 4

PostPostano: 23:19 pon, 12. 12. 2011    Naslov: Citirajte i odgovorite

eto, napisala sad s funkcijom i točno je... hvala na pomoći :)
što se tiće neC-ovskih zagrada, to je zato što su uletile naknadno pa mi se nije dalo 'ispravljat' :D
eto, napisala sad s funkcijom i točno je... hvala na pomoći Smile
što se tiće neC-ovskih zagrada, to je zato što su uletile naknadno pa mi se nije dalo 'ispravljat' Very Happy


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Idite na Prethodno  1, 2, 3, 4 ... 11, 12, 13  Sljedeće
Stranica 3 / 13.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan