Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
sasha.f Forumaš(ica)

Pridružen/a: 25. 10. 2011. (20:04:19) Postovi: (3D)16
|
Postano: 23:51 sri, 18. 1. 2012 Naslov: |
|
|
može netko pogledati što je krivo?
Napišite program koji učitava prirodni broj n, te "crta" vodoravnu liniju sastavljenu od n znakova plus ("+") i minus ("-"), s time da svaki 8. znak treba biti plus, a svi ostali minus (dakle, prvih 7 su minusi, zatim jedan plus, pa opet 7 minusa i tako dalje).
[/code]#include <stdio.h>
int main(void)
{
int n, i;
scanf("%d", &n);
for(i=1; i<=n; i++)
{
if(i%8==0)
{
printf("+");
}
else
printf("-");
}
return 0;
}[code:1][/code:1]
može netko pogledati što je krivo?
Napišite program koji učitava prirodni broj n, te "crta" vodoravnu liniju sastavljenu od n znakova plus ("+") i minus ("-"), s time da svaki 8. znak treba biti plus, a svi ostali minus (dakle, prvih 7 su minusi, zatim jedan plus, pa opet 7 minusa i tako dalje).
[/code]#include <stdio.h>
int main(void)
{
int n, i;
scanf("%d", &n);
for(i=1; i⇐n; i++)
{
if(i%8==0)
{
printf("+");
}
else
printf("-");
}
return 0;
}
|
|
[Vrh] |
|
slonic~tonic Forumaš(ica)

Pridružen/a: 26. 10. 2011. (14:16:34) Postovi: (84)16
Spol: 
|
|
[Vrh] |
|
sasha.f Forumaš(ica)

Pridružen/a: 25. 10. 2011. (20:04:19) Postovi: (3D)16
|
Postano: 12:02 čet, 19. 1. 2012 Naslov: |
|
|
još samo jedno pitanje.. nije mi jasno kako je ovakav zadatak točan za neke brojeve, a za neke ne.. točnije, javljeno mi je da nije točan za input: 20.
Napišite program koji učitava prirodni broj n, te "crta" pravokutni trokut sastavljen od zvjezdica ("*"). Trokut treba imati katete duljina n (vodoravna) i 4n (vertikalna), a pravi kut mora biti "nacrtan" u gornjem lijevom kutu.
Uputa: prvih 4 linija treba biti duljine n, idućih 4 duljine n-1, i tako dalje.
[code:1]#include <stdio.h>
int main(void)
{
int n, j, k, p, i;
scanf("%d", &n);
p=n;
for(i=1; i<=p; i++)
{
for(j=1; j<=p; j++)
{
k=1;
while(k<=n)
{
printf("*");
k++;
}
printf("\n");
}
n=n-1;
}
return 0;
}[/code:1]
još samo jedno pitanje.. nije mi jasno kako je ovakav zadatak točan za neke brojeve, a za neke ne.. točnije, javljeno mi je da nije točan za input: 20.
Napišite program koji učitava prirodni broj n, te "crta" pravokutni trokut sastavljen od zvjezdica ("*"). Trokut treba imati katete duljina n (vodoravna) i 4n (vertikalna), a pravi kut mora biti "nacrtan" u gornjem lijevom kutu.
Uputa: prvih 4 linija treba biti duljine n, idućih 4 duljine n-1, i tako dalje.
Kod: | #include <stdio.h>
int main(void)
{
int n, j, k, p, i;
scanf("%d", &n);
p=n;
for(i=1; i<=p; i++)
{
for(j=1; j<=p; j++)
{
k=1;
while(k<=n)
{
printf("*");
k++;
}
printf("\n");
}
n=n-1;
}
return 0;
} |
|
|
[Vrh] |
|
Namdev Forumaš(ica)


Pridružen/a: 01. 11. 2011. (19:23:40) Postovi: (29)16
Spol: 
|
|
[Vrh] |
|
sasha.f Forumaš(ica)

Pridružen/a: 25. 10. 2011. (20:04:19) Postovi: (3D)16
|
|
[Vrh] |
|
Sinuhe Forumaš(ica)

Pridružen/a: 05. 08. 2010. (21:55:23) Postovi: (6)16
Spol: 
|
Postano: 13:59 čet, 19. 1. 2012 Naslov: |
|
|
zašto mi ovaj program ne radi?! :cry:
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 19 imaju samo znamenke djeljive sa 9. 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!
#include <stdio.h>
int main (void)
{
int a,b,temp,x,y,m,br,z=0;
scanf("%d%d",&a,&b);
if (a>b)
{
temp=a;
a=b;
b=temp;
}
for (x=a;x<b;x++)
{
br=0;
m=x;
while (x>0)
{
y=x%19;
if (y%9)
{
br=1;
x=x/19;}
else break;
}
if(br==0)
printf ("%d",m);
z=1; }
if (z==0) printf ("Nema takvih brojeva.");
return 0;
}
zašto mi ovaj program ne radi?!
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 19 imaju samo znamenke djeljive sa 9. 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!
#include <stdio.h>
int main (void)
{
int a,b,temp,x,y,m,br,z=0;
scanf("%d%d",&a,&b);
if (a>b)
{
temp=a;
a=b;
b=temp;
}
for (x=a;x<b;x++)
{
br=0;
m=x;
while (x>0)
{
y=x%19;
if (y%9)
{
br=1;
x=x/19;}
else break;
}
if(br==0)
printf ("%d",m);
z=1; }
if (z==0) printf ("Nema takvih brojeva.");
return 0;
}
|
|
[Vrh] |
|
eikosan Forumaš(ica)


Pridružen/a: 22. 11. 2011. (01:26:25) Postovi: (5)16
|
Postano: 15:13 čet, 19. 1. 2012 Naslov: |
|
|
Još jednom molim pomoć.
Izgleda da imam vrašku sreću s probnim unosima jer se program ponaša kako piše u zadatku (osim ako sam krivo shvatila zadatak, što je lako moguće), ali mi verifikator kaže da je netočno rješenje.
Zadatak:
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 17, 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.
Program:
[code:1]#include <stdio.h>
int prvaznam(int niz[], int n)
{
int i, prva=0;
if (niz[n]==0)
{
return prva;
}
else
{
while(niz[n]>0)
{
prva=niz[n]%10;
niz[n]/=10;
}
return prva;
}
}
int ima_nema(int max, int prva)
{
while(max>0)
{
if ((max%10)==prva)
return 1;
max/=10;
}
}
int main(void)
{
int niz[130],n, i, max=0, m=0;
scanf("%d", &n);
for(i=0; i<n; ++i)
{
scanf("%d", &niz[i]);
}
for(i=0; i<n; ++i)
{
if((niz[i]%17)==0 && max==0)
{
max=niz[i];
}
else if (niz[i]%17==0 && max!=0)
{
if (niz[i]>max)
max=niz[i];
}
}
if (max)
{
for (i=0; i<n; i++)
{
if(ima_nema(max, prvaznam(niz, i)))
printf("%d ", i);
}
}
return 0;
}[/code:1]
Pretpostavila sam da ako upišem "01", prva znamenka je 1 jer ne znam kako provjeriti ima li ispred upisanih nula. Je li to kriva pretpostavka?
[size=9][color=#999999]Added after 1 minutes:[/color][/size]
@Sinuhe:
Piši kod u [code:1][/code:1].
Mislim da ovo ne valja:
[code:1]for (x=a;x<b;x++) [/code:1]
zato jer zadatak kaže da [a,b], dakle treba biti <=b.
x ti je brojač u petlji, a kasnije ga uništavaš dijeljenjem.
Još jednom molim pomoć.
Izgleda da imam vrašku sreću s probnim unosima jer se program ponaša kako piše u zadatku (osim ako sam krivo shvatila zadatak, što je lako moguće), ali mi verifikator kaže da je netočno rješenje.
Zadatak:
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 17, 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.
Program:
Kod: | #include <stdio.h>
int prvaznam(int niz[], int n)
{
int i, prva=0;
if (niz[n]==0)
{
return prva;
}
else
{
while(niz[n]>0)
{
prva=niz[n]%10;
niz[n]/=10;
}
return prva;
}
}
int ima_nema(int max, int prva)
{
while(max>0)
{
if ((max%10)==prva)
return 1;
max/=10;
}
}
int main(void)
{
int niz[130],n, i, max=0, m=0;
scanf("%d", &n);
for(i=0; i<n; ++i)
{
scanf("%d", &niz[i]);
}
for(i=0; i<n; ++i)
{
if((niz[i]%17)==0 && max==0)
{
max=niz[i];
}
else if (niz[i]%17==0 && max!=0)
{
if (niz[i]>max)
max=niz[i];
}
}
if (max)
{
for (i=0; i<n; i++)
{
if(ima_nema(max, prvaznam(niz, i)))
printf("%d ", i);
}
}
return 0;
} |
Pretpostavila sam da ako upišem "01", prva znamenka je 1 jer ne znam kako provjeriti ima li ispred upisanih nula. Je li to kriva pretpostavka?
Added after 1 minutes:
@Sinuhe:
Piši kod u .
Mislim da ovo ne valja:
zato jer zadatak kaže da [a,b], dakle treba biti ⇐b.
x ti je brojač u petlji, a kasnije ga uništavaš dijeljenjem.
|
|
[Vrh] |
|
cocco Forumaš(ica)

Pridružen/a: 21. 01. 2010. (22:06:02) Postovi: (4D)16
|
Postano: 15:29 čet, 19. 1. 2012 Naslov: |
|
|
moze meni pomoc oko ovog zadatka
Napišite program koji učitava prirodni broj n, te po redu ispisuje n malih slova engleskog alfabeta, počevši sa slovom 'e'. Ispisana slova odvojite razmacima. Ako je n prevelik, ispis treba stati sa slovom 'z'.
[code:1]#include<stdio.h>
void f(int n)
{
char c='e';
int i;
for(i=0;i<n;i++){
printf("%c, ",c+i);
if(c+i=='z') break;}
}
int main(void)
{
int n;
scanf("%d",&n);
f(n);
return 0;
}
[/code:1]
[size=9][color=#999999]Added after 4 minutes:[/color][/size]
ah sad vidjeh ,razmaci ne zarezi -.-
moze meni pomoc oko ovog zadatka
Napišite program koji učitava prirodni broj n, te po redu ispisuje n malih slova engleskog alfabeta, počevši sa slovom 'e'. Ispisana slova odvojite razmacima. Ako je n prevelik, ispis treba stati sa slovom 'z'.
Kod: | #include<stdio.h>
void f(int n)
{
char c='e';
int i;
for(i=0;i<n;i++){
printf("%c, ",c+i);
if(c+i=='z') break;}
}
int main(void)
{
int n;
scanf("%d",&n);
f(n);
return 0;
}
|
Added after 4 minutes:
ah sad vidjeh ,razmaci ne zarezi -.-
|
|
[Vrh] |
|
Namdev Forumaš(ica)


Pridružen/a: 01. 11. 2011. (19:23:40) Postovi: (29)16
Spol: 
|
|
[Vrh] |
|
eikosan Forumaš(ica)


Pridružen/a: 22. 11. 2011. (01:26:25) Postovi: (5)16
|
|
[Vrh] |
|
Namdev Forumaš(ica)


Pridružen/a: 01. 11. 2011. (19:23:40) Postovi: (29)16
Spol: 
|
|
[Vrh] |
|
eikosan Forumaš(ica)


Pridružen/a: 22. 11. 2011. (01:26:25) Postovi: (5)16
|
|
[Vrh] |
|
Namdev Forumaš(ica)


Pridružen/a: 01. 11. 2011. (19:23:40) Postovi: (29)16
Spol: 
|
|
[Vrh] |
|
Hubert Cumberdale Forumaš(ica)


Pridružen/a: 10. 11. 2011. (11:43:04) Postovi: (24)16
Spol: 
|
Postano: 9:57 pet, 20. 1. 2012 Naslov: |
|
|
Bitte bitte nek netko pogleda ovaj zadatak! :(
Zašto mi ga ne prihvaća, ja ne mogu naći niti jedan broj za koji ne radi? :/
[code:1]#include <stdio.h>
int odredujeprvu (int n)
{
int desetice=1, br=0, prva, i, b;
b=n;
while (b!=0)
{
br++;
b/=10;
}
for (i=1; i<br; i++) desetice*=10;
prva=n/desetice;
return prva;
}
int main()
{
int n, max, i, prve, c, br=0, j, d;
scanf("%d", &n);
if (n<131)
{
max=0;
int b[n];
for (i=0; i<n; i++)
scanf("%d", &b[i]);
for (i=0; i<n; i++)
if ((abs(b[i])%7==0||b[i]==0) && abs(b[i])>=max) max=b[i];
c=max;
while (c!=0)
{
br++;
c/=10;
}
d=max;
int z[br];
for (i=0; i<br; i++) {z[i]=abs(max)%10; max/=10;}
for (i=0; i<n; i++)
{
prve=odredujeprvu(b[i]);
for (j=0; j<br; j++)
if (abs(prve)==z[j]) printf("%d ",i);
}
if (d==0)
for (i=0; i<n; i++) if (b[i]==0) printf("%d ", i);
}
return 0;
}
[/code:1]
Bitte bitte nek netko pogleda ovaj zadatak!
Zašto mi ga ne prihvaća, ja ne mogu naći niti jedan broj za koji ne radi?
Kod: | #include <stdio.h>
int odredujeprvu (int n)
{
int desetice=1, br=0, prva, i, b;
b=n;
while (b!=0)
{
br++;
b/=10;
}
for (i=1; i<br; i++) desetice*=10;
prva=n/desetice;
return prva;
}
int main()
{
int n, max, i, prve, c, br=0, j, d;
scanf("%d", &n);
if (n<131)
{
max=0;
int b[n];
for (i=0; i<n; i++)
scanf("%d", &b[i]);
for (i=0; i<n; i++)
if ((abs(b[i])%7==0||b[i]==0) && abs(b[i])>=max) max=b[i];
c=max;
while (c!=0)
{
br++;
c/=10;
}
d=max;
int z[br];
for (i=0; i<br; i++) {z[i]=abs(max)%10; max/=10;}
for (i=0; i<n; i++)
{
prve=odredujeprvu(b[i]);
for (j=0; j<br; j++)
if (abs(prve)==z[j]) printf("%d ",i);
}
if (d==0)
for (i=0; i<n; i++) if (b[i]==0) printf("%d ", i);
}
return 0;
}
|
|
|
[Vrh] |
|
Zenon Forumaš(ica)


Pridružen/a: 09. 09. 2011. (19:14:43) Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]
|
|
[Vrh] |
|
Shaman Forumaš(ica)


Pridružen/a: 24. 09. 2011. (22:21:43) Postovi: (76)16
Spol: 
|
Postano: 10:02 pet, 20. 1. 2012 Naslov: |
|
|
moze molim vas pomoc sa zadatkom:
Napišite program koji učitava prirodne brojeve a i b, te u rastućem poretku ispisuje sve cijele brojeve oblika 4⋅7i-17 koji se nalaze između a i b (bez a i b). 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!
nekoliko varijanti zadatka sam poslao i vise nisam siguran sto se tocno trazi
[code:1]
#include <stdio.h>
int main(void){
int a,z,i,b,l=0,c,j,p;
scanf("%d%d", &a,&b);
if(a > b){
i=a;
a=b;
b=i;
}
for(i=a+1; i<b; ++i){
z=i+17;
c=0;
p=0;
while(z % 2 == 0){
++c;
z/=2;
}
if((c == 2) && (z % 7 == 0)){
for(j=3; j<z; ++j)
if((j != 7) && (z % j == 0)){
p=1;
break;
}
if( p == 0){
printf("%d ", i);
l=1;
}
}
}
if(l == 0)
printf("Nema takvih brojeva.");
return 0;
}
[/code:1]
moze molim vas pomoc sa zadatkom:
Napišite program koji učitava prirodne brojeve a i b, te u rastućem poretku ispisuje sve cijele brojeve oblika 4⋅7i-17 koji se nalaze između a i b (bez a i b). 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!
nekoliko varijanti zadatka sam poslao i vise nisam siguran sto se tocno trazi
Kod: |
#include <stdio.h>
int main(void){
int a,z,i,b,l=0,c,j,p;
scanf("%d%d", &a,&b);
if(a > b){
i=a;
a=b;
b=i;
}
for(i=a+1; i<b; ++i){
z=i+17;
c=0;
p=0;
while(z % 2 == 0){
++c;
z/=2;
}
if((c == 2) && (z % 7 == 0)){
for(j=3; j<z; ++j)
if((j != 7) && (z % j == 0)){
p=1;
break;
}
if( p == 0){
printf("%d ", i);
l=1;
}
}
}
if(l == 0)
printf("Nema takvih brojeva.");
return 0;
}
|
_________________ it was merely a setback
|
|
[Vrh] |
|
Namdev Forumaš(ica)


Pridružen/a: 01. 11. 2011. (19:23:40) Postovi: (29)16
Spol: 
|
|
[Vrh] |
|
Hubert Cumberdale Forumaš(ica)


Pridružen/a: 10. 11. 2011. (11:43:04) Postovi: (24)16
Spol: 
|
Postano: 11:09 pet, 20. 1. 2012 Naslov: |
|
|
[quote="Zenon"]Tekst zadatka je?[/quote]
Debil sam, sry.
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 7, 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.
[size=9][color=#999999]Added after 5 minutes:[/color][/size]
[quote="Namdev"]@Hubert Cumberdale
Iako nisam siguran sto se trazi u zadatku mislim da ne smijes deklarirati niz kao b[n] jer n nije konstanta.
I ne znam odkud pozivas funkciju[b] abs[/b], tj. ne vidim da si je deklarirao ili pozvao od nekud (iz stdlib.h valjda).[/quote]
Uhm, mislila sam da se abs može normalno koristiti bez nekakvog posebnog pozivanja? Možda sam pobrkala nešto, ali mi nije jasno zašto mi onda nije javio grešku nego najnormalnije radi? :/
Kako n nije konstanta? Pa jednom kad ga učitam je, ne mijenjam ga kasnije u programu? :?
Zenon (napisa): | Tekst zadatka je? |
Debil sam, sry.
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 7, 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.
Added after 5 minutes:
Namdev (napisa): | @Hubert Cumberdale
Iako nisam siguran sto se trazi u zadatku mislim da ne smijes deklarirati niz kao b[n] jer n nije konstanta.
I ne znam odkud pozivas funkciju abs, tj. ne vidim da si je deklarirao ili pozvao od nekud (iz stdlib.h valjda). |
Uhm, mislila sam da se abs može normalno koristiti bez nekakvog posebnog pozivanja? Možda sam pobrkala nešto, ali mi nije jasno zašto mi onda nije javio grešku nego najnormalnije radi?
Kako n nije konstanta? Pa jednom kad ga učitam je, ne mijenjam ga kasnije u programu?
|
|
[Vrh] |
|
Zenon Forumaš(ica)


Pridružen/a: 09. 09. 2011. (19:14:43) Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]
|
Postano: 11:17 pet, 20. 1. 2012 Naslov: |
|
|
[quote="Hubert Cumberdale"]Kako n nije konstanta? Pa jednom kad ga učitam je, ne mijenjam ga kasnije u programu? :?[/quote]
To je meni objašnjavao vsego jučer.
Mislim, meni je jasno da n nije konstanta, ali mi je objašnjavao zašto se to ne smije.
To je tzv. "dinamičko alociranje niza" koje ćemo učiti u drugom semestru ( trenutno ni ja ne znam što je ni kako se pravilno izvodi ), ali je rekao da ga možemo i sada koristiti, ako znamo pravilno, iako se cilja na korištenje obrađenog gradiva.
Znači u niz[] stavljam samo brojeve. Baš brojeve. Smiješ staviti nešto tipa 200*13, ali samo brojeve, nikakve varijable.
Hubert Cumberdale (napisa): | Kako n nije konstanta? Pa jednom kad ga učitam je, ne mijenjam ga kasnije u programu?  |
To je meni objašnjavao vsego jučer.
Mislim, meni je jasno da n nije konstanta, ali mi je objašnjavao zašto se to ne smije.
To je tzv. "dinamičko alociranje niza" koje ćemo učiti u drugom semestru ( trenutno ni ja ne znam što je ni kako se pravilno izvodi ), ali je rekao da ga možemo i sada koristiti, ako znamo pravilno, iako se cilja na korištenje obrađenog gradiva.
Znači u niz[] stavljam samo brojeve. Baš brojeve. Smiješ staviti nešto tipa 200*13, ali samo brojeve, nikakve varijable.
|
|
[Vrh] |
|
Namdev Forumaš(ica)


Pridružen/a: 01. 11. 2011. (19:23:40) Postovi: (29)16
Spol: 
|
|
[Vrh] |
|
|