Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
smrtTrokutima Forumaš(ica)

Pridružen/a: 30. 12. 2010. (13:47:58) Postovi: (7)16
Spol: 
|
Postano: 13:57 čet, 30. 12. 2010 Naslov: |
|
|
ja sam sličan zadatak rješavala funkcijama (čisto da se naučim) i malo sam ga zakomplicirala, al u principu radi... al mi ga ne priznaje... baš mi se sviđa pa ga nisam htjela mijenjati, samo me zanima što je krivo... jel mi možete pomoći? :D
Zadatak 2:
Napišite program koji učitava prirodne brojeve a i b, te u padajućem poretku ispisuje sve cijele brojeve koji se nalaze između a i b (bez a i b), a u zapisu s bazom 7 imaju samo znamenke između 2 i 6 (uključivo i granice). 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>
#include<stdlib.h>
int baza(int n)
{
while(n != 0)
{
if(n == 0 || n == 1)return 0;
n = n / 7;
}
return 1;
}
int nema(int x, int y)
{
int k;
if (x < y)
for(k = y - 1; k > x; k--)
{
if( baza(k) ) return 0;
}
else
for(k = x - 1; k > y; k--)
{
if( baza(k) ) return 0;
}
return 1;
}
int main()
{
int a, b, i;
scanf("%d %d", &a, &b);
if (a < b)
for(i = b - 1; i > a; i--)
{
if( baza(i) ) printf("%d ", i);
}
else
for(i = a - 1; i > b; i--)
{
if( baza(i) ) printf("%d ", i);
}
if( nema(a, b) ) printf("Nema takvih brojeva.");
return 0;
}
ja sam sličan zadatak rješavala funkcijama (čisto da se naučim) i malo sam ga zakomplicirala, al u principu radi... al mi ga ne priznaje... baš mi se sviđa pa ga nisam htjela mijenjati, samo me zanima što je krivo... jel mi možete pomoći?
Zadatak 2:
Napišite program koji učitava prirodne brojeve a i b, te u padajućem poretku ispisuje sve cijele brojeve koji se nalaze između a i b (bez a i b), a u zapisu s bazom 7 imaju samo znamenke između 2 i 6 (uključivo i granice). 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>
#include<stdlib.h>
int baza(int n)
{
while(n != 0)
{
if(n == 0 || n == 1)return 0;
n = n / 7;
}
return 1;
}
int nema(int x, int y)
{
int k;
if (x < y)
for(k = y - 1; k > x; k--)
{
if( baza(k) ) return 0;
}
else
for(k = x - 1; k > y; k--)
{
if( baza(k) ) return 0;
}
return 1;
}
int main()
{
int a, b, i;
scanf("%d %d", &a, &b);
if (a < b)
for(i = b - 1; i > a; i--)
{
if( baza(i) ) printf("%d ", i);
}
else
for(i = a - 1; i > b; i--)
{
if( baza(i) ) printf("%d ", i);
}
if( nema(a, b) ) printf("Nema takvih brojeva.");
return 0;
}
|
|
[Vrh] |
|
Phoenix Forumaš(ica)


Pridružen/a: 15. 05. 2010. (18:46:07) Postovi: (164)16
Sarma: -
|
|
[Vrh] |
|
Togepi Forumaš(ica)

Pridružen/a: 21. 11. 2010. (14:31:41) Postovi: (2B)16
|
Postano: 19:45 čet, 30. 12. 2010 Naslov: |
|
|
Može pomoć oko zadatka:
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 11. 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!
Ja sam ovako, ali ne radi:
[code:1]
#include <stdio.h>
int main (void)
{ int a, b, t, i, br=0, x, djel;
scanf("%d%d", &a,&b);
if(a>b)
{t=a;
a=b;
b=t;}
for(i=a;i<=b;++i)
{ djel=1;
x=i;
while(i!=0)
{ if((i%18)!=0 || (i%11)!=0) djel=0;
i/=18; }
if(djel==1) { printf("%d ", x);
br++;}
}
if(br==0) printf("Nema takvih brojeva.");
return 0;
[/code:1]
[size=9][color=#999999]Added after 28 minutes:[/color][/size]
Ispravila sam greške. Radi :)
Može pomoć oko zadatka:
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 11. 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!
Ja sam ovako, ali ne radi:
Kod: |
#include <stdio.h>
int main (void)
{ int a, b, t, i, br=0, x, djel;
scanf("%d%d", &a,&b);
if(a>b)
{t=a;
a=b;
b=t;}
for(i=a;i<=b;++i)
{ djel=1;
x=i;
while(i!=0)
{ if((i%18)!=0 || (i%11)!=0) djel=0;
i/=18; }
if(djel==1) { printf("%d ", x);
br++;}
}
if(br==0) printf("Nema takvih brojeva.");
return 0;
|
Added after 28 minutes:
Ispravila sam greške. Radi
|
|
[Vrh] |
|
Cobs Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15) Postovi: (206)16
Spol: 
Lokacija: Geto
|
|
[Vrh] |
|
Togepi Forumaš(ica)

Pridružen/a: 21. 11. 2010. (14:31:41) Postovi: (2B)16
|
|
[Vrh] |
|
sailor m Forumaš(ica)

Pridružen/a: 23. 10. 2010. (10:46:13) Postovi: (4E)16
|
Postano: 22:24 čet, 30. 12. 2010 Naslov: |
|
|
zadatak:
Napišite program koji učitava cijeli broj n, te ispisuje sumu svih prostih djelitelja (ignorirajući kratnost) svih cijelih brojeva različitih od nule koji se nalaze između n i -20 (uključivo).
poslala sam rješenje(koje je ispod) al mi nije točno za input n=4.sama sam isprobala učitat 4 i dobila dobro rješenje.i ne znam u čem je problem. (možda u ovoj kratnosti?)
pomoć bi mi dobro došla...
zadatak:
Napišite program koji učitava cijeli broj n, te ispisuje sumu svih prostih djelitelja (ignorirajući kratnost) svih cijelih brojeva različitih od nule koji se nalaze između n i -20 (uključivo).
poslala sam rješenje(koje je ispod) al mi nije točno za input n=4.sama sam isprobala učitat 4 i dobila dobro rješenje.i ne znam u čem je problem. (možda u ovoj kratnosti?)
pomoć bi mi dobro došla...
Description: |
|
 Download |
Filename: |
zad4-3.c |
Filesize: |
656 Bytes |
Downloaded: |
141 Time(s) |
|
|
[Vrh] |
|
pbakic Forumaš(ica)

Pridružen/a: 05. 10. 2009. (17:48:30) Postovi: (143)16
Spol: 
|
Postano: 23:41 čet, 30. 12. 2010 Naslov: |
|
|
Funkcija suma_pr_dj je dobra i kratnost je ok, al problem je u mainu:
Moras nekako osigurati da prodjes sve brojeve izmedju -20 i n;
Npr, kad ucitas 4, tebi je n==4, pa je br>n i ides odma u for
dakle tvoj for izgleda kao for(t=4; t<=20; t++), a trebao bi biti
for(t=-20; t<=4; t++);
To je valjda najlakse postici tako da imas varijable
int manja, veca;
i onda
if(n<-20) {manja=n; veca=-20}
else {manja=-20; veca=n;}
pa je for lako napisati:
for(t=manja; t<=veca;++t) ...
Funkcija suma_pr_dj je dobra i kratnost je ok, al problem je u mainu:
Moras nekako osigurati da prodjes sve brojeve izmedju -20 i n;
Npr, kad ucitas 4, tebi je n==4, pa je br>n i ides odma u for
dakle tvoj for izgleda kao for(t=4; t<=20; t++), a trebao bi biti
for(t=-20; t<=4; t++);
To je valjda najlakse postici tako da imas varijable
int manja, veca;
i onda
if(n<-20) {manja=n; veca=-20}
else {manja=-20; veca=n;}
pa je for lako napisati:
for(t=manja; t<=veca;++t) ...
|
|
[Vrh] |
|
Sekanta Forumaš(ica)

Pridružen/a: 13. 09. 2009. (10:14:33) Postovi: (48)16
|
Postano: 12:19 pet, 31. 12. 2010 Naslov: |
|
|
moze pomoc oko ovog zadatka, navodno mi je netočno za input: 67.
[quote]/*Zadatak 2:
Napišite program koji uèitava prirodni broj n, te "crta" pravokutni trokut
sastavljen od zvjezdica ("*"). Trokut treba imati katete duljina n (vodoravna)
i 5n (vertikalna), a pravi kut mora biti "nacrtan" u gornjem lijevom kutu.
Uputa: prvih 5 linija treba biti duljine n, iduæih 5 duljine n-1, i tako dalje.*/
#include <stdio.h>
int main () {
int n,i,j,k,t;
scanf("%d",&n);
j=n;
for(k=0;k<5;++k){
for(i=0;i<n;++i){
for(t=0;t<j;++t)
printf("*");
printf(" %d\n",i);
}
printf("\n%d\n",j);
--j;
}
return 0;
}
[/quote]
moze pomoc oko ovog zadatka, navodno mi je netočno za input: 67.
Citat: | /*Zadatak 2:
Napišite program koji uèitava prirodni broj n, te "crta" pravokutni trokut
sastavljen od zvjezdica ("*"). Trokut treba imati katete duljina n (vodoravna)
i 5n (vertikalna), a pravi kut mora biti "nacrtan" u gornjem lijevom kutu.
Uputa: prvih 5 linija treba biti duljine n, iduæih 5 duljine n-1, i tako dalje.*/
#include <stdio.h>
int main () {
int n,i,j,k,t;
scanf("%d",&n);
j=n;
for(k=0;k<5;++k){
for(i=0;i<n;++i){
for(t=0;t<j;++t)
printf("*");
printf(" %d\n",i);
}
printf("\n%d\n",j);
–j;
}
return 0;
}
|
|
|
[Vrh] |
|
pravipurger Forumaš(ica)


Pridružen/a: 11. 07. 2009. (10:29:44) Postovi: (128)16
Spol: 
|
|
[Vrh] |
|
Sekanta Forumaš(ica)

Pridružen/a: 13. 09. 2009. (10:14:33) Postovi: (48)16
|
|
[Vrh] |
|
Cobs Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15) Postovi: (206)16
Spol: 
Lokacija: Geto
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 21:10 sub, 1. 1. 2011 Naslov: |
|
|
[quote="Sekanta"]moze pomoc oko ovog zadatka, navodno mi je netočno za input: 67.[/quote]
Navodno netocno? :shock: Pa isprobaj ga i vidjet ces da je netocno. Lijepo pise: "prvih 5 linija treba biti duljine n, idućih 5 duljine n-1, i tako dalje", pa vidi sto ti ispisuje za bilo koji [tt]n[/tt] razlicit od 5. Recimo, za [tt]n[/tt] = 67 dobijes trapez, a ne trokut.
Ljudi, morate sami isprobavati programe, a ne oslanjati se na verifikator da to radi umjesto vas!
@Cobs: O cemu ti? :zbunjen:
Sekanta (napisa): | moze pomoc oko ovog zadatka, navodno mi je netočno za input: 67. |
Navodno netocno? Pa isprobaj ga i vidjet ces da je netocno. Lijepo pise: "prvih 5 linija treba biti duljine n, idućih 5 duljine n-1, i tako dalje", pa vidi sto ti ispisuje za bilo koji n razlicit od 5. Recimo, za n = 67 dobijes trapez, a ne trokut.
Ljudi, morate sami isprobavati programe, a ne oslanjati se na verifikator da to radi umjesto vas!
@Cobs: O cemu ti?
_________________ 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] |
|
Sekanta Forumaš(ica)

Pridružen/a: 13. 09. 2009. (10:14:33) Postovi: (48)16
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 23:00 sub, 1. 1. 2011 Naslov: |
|
|
Koliko linija duljine [tt]n[/tt] dobijes kad upises da je [tt]n[/tt] = 67, a koliko ih treba biti (prema zadatku)?
Ako ti je 67 previse, probaj za bilo koji [tt]n[/tt] razlicit od 5 (npr. za [tt]n[/tt] = 2).
Sorry ako ti se cini da gnjavim, no mislim da je puno korisnije navoditi ljude da sami dodju do toga u cemu je problem, nego da samo isporucim na pladnju.
Koliko linija duljine n dobijes kad upises da je n = 67, a koliko ih treba biti (prema zadatku)?
Ako ti je 67 previse, probaj za bilo koji n razlicit od 5 (npr. za n = 2).
Sorry ako ti se cini da gnjavim, no mislim da je puno korisnije navoditi ljude da sami dodju do toga u cemu je problem, nego da samo isporucim na pladnju.
_________________ 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] |
|
Sekanta Forumaš(ica)

Pridružen/a: 13. 09. 2009. (10:14:33) Postovi: (48)16
|
|
[Vrh] |
|
Sekanta Forumaš(ica)

Pridružen/a: 13. 09. 2009. (10:14:33) Postovi: (48)16
|
Postano: 11:16 sub, 8. 1. 2011 Naslov: |
|
|
Opet sam zapela :? ako ima jos kakva dobra dusa da baci oko na kod,pa mozda skuzi gesku :(
[code:1]/*Zadatak 2:
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 14, 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.*/
int fja_max (int niz[], int n)
{
int i,max=0;
for(i=0;i<n;++i)
{
if(niz[i]>max && niz[i]%14==0)
max=niz[i];
}
return max;
}
int fja_prva (int m)
{
int n=0;
while(m>0)
{ n=m%10;
m/=10;
}
return n;
}
#include <stdio.h>
int main () {
int x[130],n,t=0,i,max,prva;
scanf("%d",&n);
for(i=0;i<n;++i)
{
scanf("%d",&x[i]);
}
for(i=0;i<n;++i)
{
prva=fja_prva(x[i]);
max=fja_max(x,n);
while(max>0)
{
t=max%10;
max/=10;
printf("%d\n",t);
if(prva==t)
printf("%d ",i);
}
}
return 0;
}
[/code:1]
Opet sam zapela ako ima jos kakva dobra dusa da baci oko na kod,pa mozda skuzi gesku
Kod: | /*Zadatak 2:
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 14, 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.*/
int fja_max (int niz[], int n)
{
int i,max=0;
for(i=0;i<n;++i)
{
if(niz[i]>max && niz[i]%14==0)
max=niz[i];
}
return max;
}
int fja_prva (int m)
{
int n=0;
while(m>0)
{ n=m%10;
m/=10;
}
return n;
}
#include <stdio.h>
int main () {
int x[130],n,t=0,i,max,prva;
scanf("%d",&n);
for(i=0;i<n;++i)
{
scanf("%d",&x[i]);
}
for(i=0;i<n;++i)
{
prva=fja_prva(x[i]);
max=fja_max(x,n);
while(max>0)
{
t=max%10;
max/=10;
printf("%d\n",t);
if(prva==t)
printf("%d ",i);
}
}
return 0;
}
|
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 11:33 sub, 8. 1. 2011 Naslov: |
|
|
Nigdje ne pise da su brojevi nenegativni (sto ti pretpostavljas u funkciji [tt]max[/tt]).
Ako [tt]max[/tt] ima vise istih znamenaka, npr. 1414, onda ce ti indexe brojeva vise puta ispisati (npr. index broja 41 ce ispisati cak 4 puta - za svaku znamenku jednom).
Ovo je vishak: [tt]printf("%d\n",t);[/tt]
Nigdje ne pise da su brojevi nenegativni (sto ti pretpostavljas u funkciji max).
Ako max ima vise istih znamenaka, npr. 1414, onda ce ti indexe brojeva vise puta ispisati (npr. index broja 41 ce ispisati cak 4 puta - za svaku znamenku jednom).
Ovo je vishak: printf("%d\n",t);
_________________ 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] |
|
Sekanta Forumaš(ica)

Pridružen/a: 13. 09. 2009. (10:14:33) Postovi: (48)16
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
|
[Vrh] |
|
ON Forumaš(ica)

Pridružen/a: 09. 02. 2010. (19:31:10) Postovi: (D)16
Spol: 
|
Postano: 18:45 sub, 8. 1. 2011 Naslov: |
|
|
imam problem ne znan gdje je pogreška jel možete pomoći
#include <stdio.h>
int main ()
{ int a, b, t, i, br=0, x, djel;
scanf("%d %d", &a,&b);
if(a>b)
{
t=a;
a=b;
b=t;
}
for(i=a;i<=b;++i)
{ djel=1;
x=i;
while(i!=0)
{ if((x%7)!=0 && (x%7)!=3) djel=0;
i/=7; }
if(djel==1) printf("%d ", x);
br++;
}
if(br==0) printf("Nema takvih brojeva.");
return 0;
}
[size=9][color=#999999]Added after 1 minutes:[/color][/size]
ovo je zadatak!!
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 7 imaju samo znamenke djeljive sa 3. 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!
imam problem ne znan gdje je pogreška jel možete pomoći
#include <stdio.h>
int main ()
{ int a, b, t, i, br=0, x, djel;
scanf("%d %d", &a,&b);
if(a>b)
{
t=a;
a=b;
b=t;
}
for(i=a;i⇐b;++i)
{ djel=1;
x=i;
while(i!=0)
{ if((x%7)!=0 && (x%7)!=3) djel=0;
i/=7; }
if(djel==1) printf("%d ", x);
br++;
}
if(br==0) printf("Nema takvih brojeva.");
return 0;
}
Added after 1 minutes:
ovo je zadatak!!
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 7 imaju samo znamenke djeljive sa 3. 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!
|
|
[Vrh] |
|
|