Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
slonic~tonic Forumaš(ica)
Pridružen/a: 26. 10. 2011. (14:16:34) Postovi: (84)16
Spol:
|
|
[Vrh] |
|
slonic~tonic Forumaš(ica)
Pridružen/a: 26. 10. 2011. (14:16:34) Postovi: (84)16
Spol:
|
|
[Vrh] |
|
slonic~tonic Forumaš(ica)
Pridružen/a: 26. 10. 2011. (14:16:34) Postovi: (84)16
Spol:
|
Postano: 13:31 pet, 9. 12. 2011 Naslov: |
|
|
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
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
mila majka Forumaš(ica)
Pridružen/a: 10. 11. 2011. (16:33:35) Postovi: (13)16
|
Postano: 19:49 pet, 9. 12. 2011 Naslov: |
|
|
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
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
purist Forumaš(ica)
Pridružen/a: 20. 09. 2011. (23:16:53) Postovi: (18)16
Spol:
|
Postano: 1:57 ned, 11. 12. 2011 Naslov: |
|
|
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] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
purist Forumaš(ica)
Pridružen/a: 20. 09. 2011. (23:16:53) Postovi: (18)16
Spol:
|
|
[Vrh] |
|
ivanaaaa Forumaš(ica)
Pridružen/a: 24. 10. 2011. (19:36:26) Postovi: (31)16
|
Postano: 18:44 pon, 12. 12. 2011 Naslov: |
|
|
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" ?
hvala..
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
ivanaaaa Forumaš(ica)
Pridružen/a: 24. 10. 2011. (19:36:26) Postovi: (31)16
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 20:24 pon, 12. 12. 2011 Naslov: |
|
|
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.
|
|
[Vrh] |
|
ivanaaaa Forumaš(ica)
Pridružen/a: 24. 10. 2011. (19:36:26) Postovi: (31)16
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 20:43 pon, 12. 12. 2011 Naslov: |
|
|
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.
|
|
[Vrh] |
|
ivanaaaa Forumaš(ica)
Pridružen/a: 24. 10. 2011. (19:36:26) Postovi: (31)16
|
Postano: 21:29 pon, 12. 12. 2011 Naslov: |
|
|
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] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 21:42 pon, 12. 12. 2011 Naslov: |
|
|
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.
|
|
[Vrh] |
|
ivanaaaa Forumaš(ica)
Pridružen/a: 24. 10. 2011. (19:36:26) Postovi: (31)16
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 22:18 pon, 12. 12. 2011 Naslov: |
|
|
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. 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.
|
|
[Vrh] |
|
ivanaaaa Forumaš(ica)
Pridružen/a: 24. 10. 2011. (19:36:26) Postovi: (31)16
|
|
[Vrh] |
|
|