Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
patakenjac Forumaš(ica)
Pridružen/a: 23. 10. 2011. (17:34:05) Postovi: (2F)16
|
Postano: 6:56 pon, 13. 1. 2014 Naslov: |
|
|
Ispričavam se. Izmijenila sam ali mi i dalje ne prihvaća u aplikaciji za zadaće. Ne vidim gdje je greška. :( hvala na pomoći!
Evo kod:
[code:1] #include<stdio.h>
int f (int broj)
{
int k=0;
while(broj>0)
{
if((broj%18)!=10 && (broj%18)!=0)k++;
broj/=18;
}
return k;
}
int main(void)
{
int a,b,i,br=0;
scanf("%d%d",&a,&b);
if(a<b)
for(i=a;i<=b;i++)
if(f(i)==0){printf(" %d",i);br++;}
else if(a>b)
for(i=b;i<=a;i++)
if(f(i)==0){printf(" %d",i);br++;}
else if(f(a)==0) {printf(" %d",a);br++;}
if(br==0) printf("Nema takvih brojeva.");
return 0;
}[/code:1]
Ispričavam se. Izmijenila sam ali mi i dalje ne prihvaća u aplikaciji za zadaće. Ne vidim gdje je greška. hvala na pomoći!
Evo kod:
Kod: | #include<stdio.h>
int f (int broj)
{
int k=0;
while(broj>0)
{
if((broj%18)!=10 && (broj%18)!=0)k++;
broj/=18;
}
return k;
}
int main(void)
{
int a,b,i,br=0;
scanf("%d%d",&a,&b);
if(a<b)
for(i=a;i<=b;i++)
if(f(i)==0){printf(" %d",i);br++;}
else if(a>b)
for(i=b;i<=a;i++)
if(f(i)==0){printf(" %d",i);br++;}
else if(f(a)==0) {printf(" %d",a);br++;}
if(br==0) printf("Nema takvih brojeva.");
return 0;
} |
|
|
[Vrh] |
|
Silenoz Forumaš(ica)
Pridružen/a: 15. 10. 2011. (18:45:11) Postovi: (4F)16
Spol:
|
Postano: 8:00 pon, 13. 1. 2014 Naslov: |
|
|
Probaj bez razmaka prije (prvog) broja u ispisu, khmm
EDIT: Po kodu mi se činilo da radi, +testirao sam ovaj čas i izbaci dobre brojeve na mom primjeru. Tako da pretpostavljam da je do načina ispisa.
(stavi razmak iza ispisanog broja, pretpostavljam da bi moglo proći; ako ne, onda neki mali brojač jel' prvi broj ili ne, pa ovisno o tome ispisuj sa/bez razmaka)
Probaj bez razmaka prije (prvog) broja u ispisu, khmm
EDIT: Po kodu mi se činilo da radi, +testirao sam ovaj čas i izbaci dobre brojeve na mom primjeru. Tako da pretpostavljam da je do načina ispisa.
(stavi razmak iza ispisanog broja, pretpostavljam da bi moglo proći; ako ne, onda neki mali brojač jel' prvi broj ili ne, pa ovisno o tome ispisuj sa/bez razmaka)
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 8:59 pon, 13. 1. 2014 Naslov: |
|
|
Koji protuprimjer ti je aplikacija dala?
Meni se cini da ne radi dobro za negativne brojeve.
Dodatno, [tt]else[/tt]-ovi ti ne pripadaju onim [tt]if[/tt]-ovima kojima mislis da pripadaju. Dodaj viticaste zagrade ili, bolje, rijesi se tih [tt]if[/tt]-ova ovako:
[code:1]if (a > b) { zamijeni a i b; }
for (i = a; i <= b; i++) radi sto vec treba;
if (br) printf(rezultat); else printf("Nema takvih brojeva.");[/code:1]
Koji protuprimjer ti je aplikacija dala?
Meni se cini da ne radi dobro za negativne brojeve.
Dodatno, else-ovi ti ne pripadaju onim if-ovima kojima mislis da pripadaju. Dodaj viticaste zagrade ili, bolje, rijesi se tih if-ova ovako:
Kod: | if (a > b) { zamijeni a i b; }
for (i = a; i <= b; i++) radi sto vec treba;
if (br) printf(rezultat); else printf("Nema takvih brojeva."); |
_________________ 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] |
|
patakenjac Forumaš(ica)
Pridružen/a: 23. 10. 2011. (17:34:05) Postovi: (2F)16
|
|
[Vrh] |
|
patakenjac Forumaš(ica)
Pridružen/a: 23. 10. 2011. (17:34:05) Postovi: (2F)16
|
Postano: 22:16 čet, 16. 1. 2014 Naslov: |
|
|
Opet ja :) Ovako glasi zadatak: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. Ispisane brojeve odvojite razmacima.
Šta znači ovaj dio "onda ih uspoređujete na uobičajeni način"?
Ovo je moj kod:
[code:1]#include<stdio.h>
int main (void)
{
int n,x[31],i,j,suma1,suma2;
int suma(int);
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&x[i]);
for(i=0;i<n-1;i++)
{
suma1=suma(x[i]);
for(j=i+1;j<n;j++)
{
suma2=suma(x[j]);
if(suma1<suma2)
{
int temp=x[i];
x[i]=x[j];
x[j]=temp;
suma1=suma2;
}
}
}
for(i=0;i<n;i++) printf("%d ",x[i]);
return 0;
}
int suma(int a)
{
int sum=0;
while(a>0)
{
sum+=a%6;
a/=6;
}
return sum;
}[/code:1]
Opet ja Ovako glasi zadatak: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. Ispisane brojeve odvojite razmacima.
Šta znači ovaj dio "onda ih uspoređujete na uobičajeni način"?
Ovo je moj kod:
Kod: | #include<stdio.h>
int main (void)
{
int n,x[31],i,j,suma1,suma2;
int suma(int);
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&x[i]);
for(i=0;i<n-1;i++)
{
suma1=suma(x[i]);
for(j=i+1;j<n;j++)
{
suma2=suma(x[j]);
if(suma1<suma2)
{
int temp=x[i];
x[i]=x[j];
x[j]=temp;
suma1=suma2;
}
}
}
for(i=0;i<n;i++) printf("%d ",x[i]);
return 0;
}
int suma(int a)
{
int sum=0;
while(a>0)
{
sum+=a%6;
a/=6;
}
return sum;
} |
|
|
[Vrh] |
|
krcko Forumaš nagrađen za životno djelo
Pridružen/a: 07. 10. 2002. (15:57:59) Postovi: (18B3)16
|
|
[Vrh] |
|
patakenjac Forumaš(ica)
Pridružen/a: 23. 10. 2011. (17:34:05) Postovi: (2F)16
|
Postano: 19:11 pet, 17. 1. 2014 Naslov: |
|
|
Hvala! Evo i to sam izmijenila ali i dalje mi ne prihvaća kod a ne vidim u čemu je problem. Možete li mi pomoći? Hvala unaprijed! :D
[code:1]#include<stdio.h>
int main (void)
{
int n,x[31],i,j,suma1,suma2;
int suma(int);
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&x[i]);
for(i=0;i<n-1;i++)
{
suma1=suma(x[i]);
for(j=i+1;j<n;j++)
{
suma2=suma(x[j]);
if(suma1==suma2)
{
if(x[i]<x[j]){int temp=x[i];
x[i]=x[j];
x[j]=temp;
}
}
if(suma1<suma2)
{
int temp=x[i];
x[i]=x[j];
x[j]=temp;
suma1=suma2;
}
}
}
for(i=0;i<n;i++) printf("%d ",x[i]);
return 0;
}
int suma(int a)
{
int sum=0;
while(a>0)
{
sum+=a%6;
a/=6;
}
return sum;
}[/code:1]
Hvala! Evo i to sam izmijenila ali i dalje mi ne prihvaća kod a ne vidim u čemu je problem. Možete li mi pomoći? Hvala unaprijed!
Kod: | #include<stdio.h>
int main (void)
{
int n,x[31],i,j,suma1,suma2;
int suma(int);
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&x[i]);
for(i=0;i<n-1;i++)
{
suma1=suma(x[i]);
for(j=i+1;j<n;j++)
{
suma2=suma(x[j]);
if(suma1==suma2)
{
if(x[i]<x[j]){int temp=x[i];
x[i]=x[j];
x[j]=temp;
}
}
if(suma1<suma2)
{
int temp=x[i];
x[i]=x[j];
x[j]=temp;
suma1=suma2;
}
}
}
for(i=0;i<n;i++) printf("%d ",x[i]);
return 0;
}
int suma(int a)
{
int sum=0;
while(a>0)
{
sum+=a%6;
a/=6;
}
return sum;
} |
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
pllook Forumaš(ica)
Pridružen/a: 08. 11. 2013. (20:56:12) Postovi: (CD)16
Spol:
|
Postano: 11:38 sub, 18. 1. 2014 Naslov: |
|
|
može pomoć sa ovim zadatkom?
Napišite program koji učitava cijeli broj n, te ispisuje sumu svih prostih djelitelja (uvažavajući kratnost) svih cijelih brojeva različitih od nule koji se nalaze između n i 26 (uključivo).
Pokušah to riješti ovako:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,p,i,s;
s=0;
printf("broj n =");
scanf("%d", &n);
if(n<0)
for(i=n; i<=26; ++i)
{
n=-i;
p=2;
while(n>1) if(n%p==0)
{
s=s+p;
n=n/p;
}
else ++p;
}
if(n<26 && n>0)
for(i=n; i<=26; ++i)
{
p=2;
while(n>1) if(n%p==0)
{
s=s+p;
n=n/p;
}
else ++p;
}
printf("%d\n", s);
if(n>26)
for(i=26; i<=n; ++i)
{
p=2;
while(n>1) if(n%p==0)
{
s=s+p;
n=n/p;
}
else ++p;
}
if(n==26)
while(n>1) if(n%p==0)
{
s=s+p;
n=n/p;
}
printf("%d\n", s);
return 0;
}
za npr. 12 mi ispisuje 2+2+3=7, za 20=2+2+5=9, tj. ispisuje mi sumu prostih djeljitelja učitanog broja,a ne sumu svih prostih djeljitelja brojeva između n i 26
može pomoć sa ovim zadatkom?
Napišite program koji učitava cijeli broj n, te ispisuje sumu svih prostih djelitelja (uvažavajući kratnost) svih cijelih brojeva različitih od nule koji se nalaze između n i 26 (uključivo).
Pokušah to riješti ovako:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,p,i,s;
s=0;
printf("broj n =");
scanf("%d", &n);
if(n<0)
for(i=n; i<=26; ++i)
{
n=-i;
p=2;
while(n>1) if(n%p==0)
{
s=s+p;
n=n/p;
}
else ++p;
}
if(n<26 && n>0)
for(i=n; i<=26; ++i)
{
p=2;
while(n>1) if(n%p==0)
{
s=s+p;
n=n/p;
}
else ++p;
}
printf("%d\n", s);
if(n>26)
for(i=26; i<=n; ++i)
{
p=2;
while(n>1) if(n%p==0)
{
s=s+p;
n=n/p;
}
else ++p;
}
if(n==26)
while(n>1) if(n%p==0)
{
s=s+p;
n=n/p;
}
printf("%d\n", s);
return 0;
}
za npr. 12 mi ispisuje 2+2+3=7, za 20=2+2+5=9, tj. ispisuje mi sumu prostih djeljitelja učitanog broja,a ne sumu svih prostih djeljitelja brojeva između n i 26
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 14:01 sub, 18. 1. 2014 Naslov: |
|
|
[quote="pllook"]za npr. 12 mi ispisuje 2+2+3=7, za 20=2+2+5=9, tj. ispisuje mi sumu prostih djeljitelja učitanog broja,a ne sumu svih prostih djeljitelja brojeva između n i 26[/quote]
Bez da gledam kod (vid' mi sig), mogu zakljuciti da racunas proste djelitelje od [tt]n[/tt], umjesto da vrtis petlju izmedju [tt]n[/tt] i 26 i racunas proste djelitelje tih brojeva.
pllook (napisa): | za npr. 12 mi ispisuje 2+2+3=7, za 20=2+2+5=9, tj. ispisuje mi sumu prostih djeljitelja učitanog broja,a ne sumu svih prostih djeljitelja brojeva između n i 26 |
Bez da gledam kod (vid' mi sig), mogu zakljuciti da racunas proste djelitelje od n, umjesto da vrtis petlju izmedju n i 26 i racunas proste djelitelje tih brojeva.
_________________ 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] |
|
pllook Forumaš(ica)
Pridružen/a: 08. 11. 2013. (20:56:12) Postovi: (CD)16
Spol:
|
Postano: 14:09 sub, 18. 1. 2014 Naslov: |
|
|
[quote="vsego"][quote="pllook"]za npr. 12 mi ispisuje 2+2+3=7, za 20=2+2+5=9, tj. ispisuje mi sumu prostih djeljitelja učitanog broja,a ne sumu svih prostih djeljitelja brojeva između n i 26[/quote]
Bez da gledam kod (vid' mi sig), mogu zakljuciti da racunas proste djelitelje od [tt]n[/tt], umjesto da vrtis petlju izmedju [tt]n[/tt] i 26 i racunas proste djelitelje tih brojeva.[/quote]
pa to mi je jasno,ne znam kako da to popravim..
vsego (napisa): | pllook (napisa): | za npr. 12 mi ispisuje 2+2+3=7, za 20=2+2+5=9, tj. ispisuje mi sumu prostih djeljitelja učitanog broja,a ne sumu svih prostih djeljitelja brojeva između n i 26 |
Bez da gledam kod (vid' mi sig), mogu zakljuciti da racunas proste djelitelje od n, umjesto da vrtis petlju izmedju n i 26 i racunas proste djelitelje tih brojeva. |
pa to mi je jasno,ne znam kako da to popravim..
|
|
[Vrh] |
|
mdoko Forumaš(ica)
Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16
Spol:
Lokacija: Heriot-Watt University, Edinburgh
|
Postano: 14:21 sub, 18. 1. 2014 Naslov: |
|
|
[quote="pllook"][quote="vsego"][quote="pllook"]za npr. 12 mi ispisuje 2+2+3=7, za 20=2+2+5=9, tj. ispisuje mi sumu prostih djeljitelja učitanog broja,a ne sumu svih prostih djeljitelja brojeva između n i 26[/quote]
Bez da gledam kod (vid' mi sig), mogu zakljuciti da racunas proste djelitelje od [tt]n[/tt], umjesto da vrtis petlju izmedju [tt]n[/tt] i 26 i racunas proste djelitelje tih brojeva.[/quote]
pa to mi je jasno,ne znam kako da to popravim..[/quote]
Očito je da znaš za pojedini [i]n[/i] dobiti sumu svih njegovih prostih djelitelja. Ti tu proceduru jednostavno primijeniš na učitani broj, a treba je primijeniti na brojeve između onoga koji je učitan i 26.
pllook (napisa): | vsego (napisa): | pllook (napisa): | za npr. 12 mi ispisuje 2+2+3=7, za 20=2+2+5=9, tj. ispisuje mi sumu prostih djeljitelja učitanog broja,a ne sumu svih prostih djeljitelja brojeva između n i 26 |
Bez da gledam kod (vid' mi sig), mogu zakljuciti da racunas proste djelitelje od n, umjesto da vrtis petlju izmedju n i 26 i racunas proste djelitelje tih brojeva. |
pa to mi je jasno,ne znam kako da to popravim.. |
Očito je da znaš za pojedini n dobiti sumu svih njegovih prostih djelitelja. Ti tu proceduru jednostavno primijeniš na učitani broj, a treba je primijeniti na brojeve između onoga koji je učitan i 26.
_________________ Extraordinary claims require extraordinary evidence. – Carl Sagan
|
|
[Vrh] |
|
pllook Forumaš(ica)
Pridružen/a: 08. 11. 2013. (20:56:12) Postovi: (CD)16
Spol:
|
Postano: 14:35 sub, 18. 1. 2014 Naslov: |
|
|
[quote="mdoko"][quote="pllook"][quote="vsego"][quote="pllook"]za npr. 12 mi ispisuje 2+2+3=7, za 20=2+2+5=9, tj. ispisuje mi sumu prostih djeljitelja učitanog broja,a ne sumu svih prostih djeljitelja brojeva između n i 26[/quote]
Bez da gledam kod (vid' mi sig), mogu zakljuciti da racunas proste djelitelje od [tt]n[/tt], umjesto da vrtis petlju izmedju [tt]n[/tt] i 26 i racunas proste djelitelje tih brojeva.[/quote]
pa to mi je jasno,ne znam kako da to popravim..[/quote]
Očito je da znaš za pojedini [i]n[/i] dobiti sumu svih njegovih prostih djelitelja. Ti tu proceduru jednostavno primijeniš na učitani broj, a treba je primijeniti na brojeve između onoga koji je učitan i 26.[/quote]
kužim da moram imati petlju od n do 26 i od 26 do n,to sam i napravila,ali ne znam zašto mi ne radi..
doduše,za negativne brojeve mi ispisuje sumu prostih djeljitelja brojeva od n do 0, npr. za -5 ispisuje 14, za -7 26..
mdoko (napisa): | pllook (napisa): | vsego (napisa): | pllook (napisa): | za npr. 12 mi ispisuje 2+2+3=7, za 20=2+2+5=9, tj. ispisuje mi sumu prostih djeljitelja učitanog broja,a ne sumu svih prostih djeljitelja brojeva između n i 26 |
Bez da gledam kod (vid' mi sig), mogu zakljuciti da racunas proste djelitelje od n, umjesto da vrtis petlju izmedju n i 26 i racunas proste djelitelje tih brojeva. |
pa to mi je jasno,ne znam kako da to popravim.. |
Očito je da znaš za pojedini n dobiti sumu svih njegovih prostih djelitelja. Ti tu proceduru jednostavno primijeniš na učitani broj, a treba je primijeniti na brojeve između onoga koji je učitan i 26. |
kužim da moram imati petlju od n do 26 i od 26 do n,to sam i napravila,ali ne znam zašto mi ne radi..
doduše,za negativne brojeve mi ispisuje sumu prostih djeljitelja brojeva od n do 0, npr. za -5 ispisuje 14, za -7 26..
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 22:21 sub, 18. 1. 2014 Naslov: |
|
|
[quote="pllook"]kužim da moram imati petlju od n do 26 i od 26 do n,to sam i napravila,ali ne znam zašto mi ne radi..[/quote]
Nije dosta "imati petlju". U svakom koraku petlje nesto radis s [tt]n[/tt], a to je ucitani broj, a nigdje ne radis nista s brojevima izmedju 26 i [tt]n[/tt] (to je varijabla [tt]i[/tt]).
Vjerojatno ce ti netko napraviti medvjedju uslugu i samo rijesiti zadatak, no meni se cini da imas problem s razumijevanjem petlji. S obzirom na blizinu kolokvija, preporucam (hitni) posjet demonstraturama ili konzultacijama, jer za kolokvij treba razumjeti gradivo (da ne spominjem za uopce pratiti nastavu Prog 2).
pllook (napisa): | kužim da moram imati petlju od n do 26 i od 26 do n,to sam i napravila,ali ne znam zašto mi ne radi.. |
Nije dosta "imati petlju". U svakom koraku petlje nesto radis s n, a to je ucitani broj, a nigdje ne radis nista s brojevima izmedju 26 i n (to je varijabla i).
Vjerojatno ce ti netko napraviti medvjedju uslugu i samo rijesiti zadatak, no meni se cini da imas problem s razumijevanjem petlji. S obzirom na blizinu kolokvija, preporucam (hitni) posjet demonstraturama ili konzultacijama, jer za kolokvij treba razumjeti gradivo (da ne spominjem za uopce pratiti nastavu Prog 2).
_________________ 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] |
|
pllook Forumaš(ica)
Pridružen/a: 08. 11. 2013. (20:56:12) Postovi: (CD)16
Spol:
|
Postano: 12:52 ned, 19. 1. 2014 Naslov: |
|
|
[quote="vsego"][quote="pllook"]kužim da moram imati petlju od n do 26 i od 26 do n,to sam i napravila,ali ne znam zašto mi ne radi..[/quote]
Nije dosta "imati petlju". U svakom koraku petlje nesto radis s [tt]n[/tt], a to je ucitani broj, a nigdje ne radis nista s brojevima izmedju 26 i [tt]n[/tt] (to je varijabla [tt]i[/tt]).
Vjerojatno ce ti netko napraviti medvjedju uslugu i samo rijesiti zadatak, no meni se cini da imas problem s razumijevanjem petlji. S obzirom na blizinu kolokvija, preporucam (hitni) posjet demonstraturama ili konzultacijama, jer za kolokvij treba razumjeti gradivo (da ne spominjem za uopce pratiti nastavu Prog 2).[/quote]
Uspjela sam riješiti.
vsego (napisa): | pllook (napisa): | kužim da moram imati petlju od n do 26 i od 26 do n,to sam i napravila,ali ne znam zašto mi ne radi.. |
Nije dosta "imati petlju". U svakom koraku petlje nesto radis s n, a to je ucitani broj, a nigdje ne radis nista s brojevima izmedju 26 i n (to je varijabla i).
Vjerojatno ce ti netko napraviti medvjedju uslugu i samo rijesiti zadatak, no meni se cini da imas problem s razumijevanjem petlji. S obzirom na blizinu kolokvija, preporucam (hitni) posjet demonstraturama ili konzultacijama, jer za kolokvij treba razumjeti gradivo (da ne spominjem za uopce pratiti nastavu Prog 2). |
Uspjela sam riješiti.
|
|
[Vrh] |
|
pllook Forumaš(ica)
Pridružen/a: 08. 11. 2013. (20:56:12) Postovi: (CD)16
Spol:
|
Postano: 9:15 čet, 23. 1. 2014 Naslov: |
|
|
Napišite program koji učitava prirodni broj n<71, te niz od n prirodnih brojeva. Program treba (u originalnom poretku) bez zadnje znamenke ispisati one brojeve kojima je zadnja znamenka jednaka 9. Ako takvih brojeva nema, program ne smije ništa ispisati. Ispisane brojeve odvojite razmacima.
Na primjer, za niz brojeva 179, 181, 199, 202, 211, 223, 239, 242 ispisati "17 19 23".
ako upišem 9, da li onda treba ispisati 0 ili ništa?
Napišite program koji učitava prirodni broj n<71, te niz od n prirodnih brojeva. Program treba (u originalnom poretku) bez zadnje znamenke ispisati one brojeve kojima je zadnja znamenka jednaka 9. Ako takvih brojeva nema, program ne smije ništa ispisati. Ispisane brojeve odvojite razmacima.
Na primjer, za niz brojeva 179, 181, 199, 202, 211, 223, 239, 242 ispisati "17 19 23".
ako upišem 9, da li onda treba ispisati 0 ili ništa?
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
pllook Forumaš(ica)
Pridružen/a: 08. 11. 2013. (20:56:12) Postovi: (CD)16
Spol:
|
Postano: 20:19 pet, 24. 1. 2014 Naslov: |
|
|
može li mi netko pojasniti zašto ovo ne radi ispravno?(tekst zadatka je iznad)
[code:1]#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,a[71],i;
scanf("%d", &n);
if(n>71 || n<0) return 0;
for(i=0; i<n; ++i)
{
scanf("%d", &a[i]);
if(a[i]%10==9) printf("%d\t", a[i]/10);
else return 0;
}
return 0;
}
[/code:1]
npr. za 29 39 9 mi ispiše 2,3,0; ali za 23 33 9 mi ne ispiše ništa
može li mi netko pojasniti zašto ovo ne radi ispravno?(tekst zadatka je iznad)
Kod: | #include <stdio.h>
#include <stdlib.h>
int main()
{
int n,a[71],i;
scanf("%d", &n);
if(n>71 || n<0) return 0;
for(i=0; i<n; ++i)
{
scanf("%d", &a[i]);
if(a[i]%10==9) printf("%d\t", a[i]/10);
else return 0;
}
return 0;
}
|
npr. za 29 39 9 mi ispiše 2,3,0; ali za 23 33 9 mi ne ispiše ništa
|
|
[Vrh] |
|
hendrix Forumaš(ica)
Pridružen/a: 03. 09. 2012. (15:59:06) Postovi: (92)16
|
Postano: 20:24 pet, 24. 1. 2014 Naslov: |
|
|
S namjerom da ti probam pomoci bez da ti rijesim zadatak;
Sto mislis, sto radi [tt]return 0[/tt], prvo opcenito, a onda u tvom kodu?
(Hint: kad [tt]main()[/tt] nesto vrati, gotovo je s njegovim izvrsavanjem u tvom programu.)
Ergo, tvoj program cim naidje na broj koji nema zadnju znamenku jednaku [tt]9[/tt] napravi... sto? :)
[tt]if[/tt] ne povlaci nuzno da moras imati ikakav [tt]else[/tt], a posebno ne da radis _odgovor na gornje pitanje_.
Neki "opipljiv" primjer bi bio da, recimo, imas plave i crvene kuglice u kutiji i zelis ih razdvojiti po bojama tako da plave prebacis u drugu kutiju. Ako slucajno uzmes crvenu, hoces li prekinuti s poslom ili ces to samo zanemariti, vratiti je i nastaviti dalje? :D
Dodatna napomena: ovaj zadatak se bez problema rjesava bez koristenja ikakvih nizova. Primijeti da ti za rjesavanje istog ne treba nista osim broja koji trenutno promatras, sto ce reci da umjesto u [tt]a[i][/tt] komotno mozes ucitavati vrijednost u neki [tt]x[/tt] i raditi s njim sve iste stvari.
Vidim da si konacno presla s ispitivanja o raznim uvjetima prolazenja ovog kolegija na koliko-toliko konstruktivne probleme pa eto. Hope it helps.
S namjerom da ti probam pomoci bez da ti rijesim zadatak;
Sto mislis, sto radi return 0, prvo opcenito, a onda u tvom kodu?
(Hint: kad main() nesto vrati, gotovo je s njegovim izvrsavanjem u tvom programu.)
Ergo, tvoj program cim naidje na broj koji nema zadnju znamenku jednaku 9 napravi... sto?
if ne povlaci nuzno da moras imati ikakav else, a posebno ne da radis _odgovor na gornje pitanje_.
Neki "opipljiv" primjer bi bio da, recimo, imas plave i crvene kuglice u kutiji i zelis ih razdvojiti po bojama tako da plave prebacis u drugu kutiju. Ako slucajno uzmes crvenu, hoces li prekinuti s poslom ili ces to samo zanemariti, vratiti je i nastaviti dalje?
Dodatna napomena: ovaj zadatak se bez problema rjesava bez koristenja ikakvih nizova. Primijeti da ti za rjesavanje istog ne treba nista osim broja koji trenutno promatras, sto ce reci da umjesto u a[i] komotno mozes ucitavati vrijednost u neki x i raditi s njim sve iste stvari.
Vidim da si konacno presla s ispitivanja o raznim uvjetima prolazenja ovog kolegija na koliko-toliko konstruktivne probleme pa eto. Hope it helps.
|
|
[Vrh] |
|
ivana_dbk Forumaš(ica)
Pridružen/a: 27. 10. 2013. (14:24:17) Postovi: (1D)16
|
Postano: 23:47 sub, 25. 1. 2014 Naslov: |
|
|
Može pomoć oko zadatka, ne znam gdje je točno greška, server mi vraća (netočno za input: 3 9955 1203 6632).
[code:1]/*Napišite program koji učitava prirodni broj n≤17, te niz od n cijelih brojeva. Program treba ispisati sumu zadnjih 5 neparnih elemenata niza.
Ako neparnih brojeva ima manje od 5, ispišite sumu svih neparnih. Ako neparnih brojeva uopće nema u nizu, ispišite 0.*/
#include<stdio.h>
int main() {
int n,a[],i,s,k=0;
scanf("%d",&n);
for(i=0; i<n; i++)
scanf("%d",&a[i]);
s=0;
for(i=n-1; i>=0; i--) {
if(a[i]%2!=0)
{s+=a[i];
k++;}
if (k==5) break;
}
printf("%d",s);
return 0;
}[/code:1]
Može pomoć oko zadatka, ne znam gdje je točno greška, server mi vraća (netočno za input: 3 9955 1203 6632).
Kod: | /*Napišite program koji učitava prirodni broj n≤17, te niz od n cijelih brojeva. Program treba ispisati sumu zadnjih 5 neparnih elemenata niza.
Ako neparnih brojeva ima manje od 5, ispišite sumu svih neparnih. Ako neparnih brojeva uopće nema u nizu, ispišite 0.*/
#include<stdio.h>
int main() {
int n,a[],i,s,k=0;
scanf("%d",&n);
for(i=0; i<n; i++)
scanf("%d",&a[i]);
s=0;
for(i=n-1; i>=0; i--) {
if(a[i]%2!=0)
{s+=a[i];
k++;}
if (k==5) break;
}
printf("%d",s);
return 0;
} |
|
|
[Vrh] |
|
|