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

Pridružen/a: 23. 06. 2010. (16:53:45) Postovi: (3D)16
Spol: 
|
Postano: 16:34 sri, 12. 1. 2011 Naslov: |
|
|
[code:1]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 15. 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![/code:1]
[code:1]#include <stdio.h>
int abs(int a){
if (a < 0) return -a;
return a;
}
int check (int a){
while (a != 0){
if (abs(a%18) != 15) return 0;
a = a/18;
}
return 1;
}
int main (){
int a, b, x, foo = 1;
scanf("%d%d", &a, &b);
if (b < a){
x = a;
a = b;
b = x;
}
for(a; a <= b; ++a){
if(check(a)){ printf("%d ", a); foo = 0; }
}
if (foo) printf("Nema takvih brojeva.");
return 0;
}
[/code:1]
Vertifikator javlja gresku (netočno za input: '590 158').
Za input 590 158 dobivam 285 (zapis u bazi 18 je EE).
Di je greska? :?
Kod: | 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 15. 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! |
Kod: | #include <stdio.h>
int abs(int a){
if (a < 0) return -a;
return a;
}
int check (int a){
while (a != 0){
if (abs(a%18) != 15) return 0;
a = a/18;
}
return 1;
}
int main (){
int a, b, x, foo = 1;
scanf("%d%d", &a, &b);
if (b < a){
x = a;
a = b;
b = x;
}
for(a; a <= b; ++a){
if(check(a)){ printf("%d ", a); foo = 0; }
}
if (foo) printf("Nema takvih brojeva.");
return 0;
}
|
Vertifikator javlja gresku (netočno za input: '590 158').
Za input 590 158 dobivam 285 (zapis u bazi 18 je EE).
Di je greska?
|
|
[Vrh] |
|
Cobs Forumaš(ica)


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

Pridružen/a: 23. 06. 2010. (16:53:45) Postovi: (3D)16
Spol: 
|
|
[Vrh] |
|
vsego Site Admin


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


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

Pridružen/a: 23. 10. 2010. (10:46:13) Postovi: (4E)16
|
Postano: 19:47 sri, 12. 1. 2011 Naslov: |
|
|
zadatak:
Napišite program koji učitava 6 realnih brojeva, te ih ispisuje umnožak ona dva koji imaju najveću, odnosno najmanju apsolutnu vrijednost. Ako dva broja imaju jednaku apsolutnu vrijednost, za većeg/manjeg uzimate onog koji je prije učitan.
Rezultat obavezno ispišite koristeći format %g!
krivo rješenje:
#include <stdio.h>
int main(void) {
double x, i=0, min, max;
scanf("%lg", &x);
if(x<0) x=-x;
max=x;
min=x;
for(i=0; i<5; i++) {
scanf("%lg", &x);
if(x<0) x=-x;
if(x<min) min=x;
if(x>max) max=x;
}
printf("%g\n", max*min);
return 0;
}
krivo mi je za input: -33.5778 58.8402 18.3933 2.1383 -70.9021 -34.4836
jel možda problem što nemam funkciju abs...?
zadatak:
Napišite program koji učitava 6 realnih brojeva, te ih ispisuje umnožak ona dva koji imaju najveću, odnosno najmanju apsolutnu vrijednost. Ako dva broja imaju jednaku apsolutnu vrijednost, za većeg/manjeg uzimate onog koji je prije učitan.
Rezultat obavezno ispišite koristeći format %g!
krivo rješenje:
#include <stdio.h>
int main(void) {
double x, i=0, min, max;
scanf("%lg", &x);
if(x<0) x=-x;
max=x;
min=x;
for(i=0; i<5; i++) {
scanf("%lg", &x);
if(x<0) x=-x;
if(x<min) min=x;
if(x>max) max=x;
}
printf("%g\n", max*min);
return 0;
}
krivo mi je za input: -33.5778 58.8402 18.3933 2.1383 -70.9021 -34.4836
jel možda problem što nemam funkciju abs...?
|
|
[Vrh] |
|
fejky Forumaš(ica)

Pridružen/a: 23. 06. 2010. (16:53:45) Postovi: (3D)16
Spol: 
|
|
[Vrh] |
|
Cobs Forumaš(ica)


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

Pridružen/a: 23. 10. 2010. (10:46:13) Postovi: (4E)16
|
|
[Vrh] |
|
fejky Forumaš(ica)

Pridružen/a: 23. 06. 2010. (16:53:45) Postovi: (3D)16
Spol: 
|
|
[Vrh] |
|
sailor m Forumaš(ica)

Pridružen/a: 23. 10. 2010. (10:46:13) Postovi: (4E)16
|
|
[Vrh] |
|
pman Forumaš(ica)

Pridružen/a: 01. 11. 2009. (19:35:23) Postovi: (3)16
|
|
[Vrh] |
|
zvonkec Forumaš(ica)

Pridružen/a: 04. 11. 2010. (20:56:30) Postovi: (37)16
Spol: 
|
Postano: 21:49 čet, 13. 1. 2011 Naslov: |
|
|
Napišite program koji učitava prirodni broj n<71, te niz od n cijelih brojeva. Program treba u originalnom poretku ispisati sve elemente x[i] niza takve da je ostatak pri dijeljenju apsolutne vrijednosti x[i] s 16 jednak ostatku koji pri istom takvom dijeljenju daje najmanji od učitanih brojeva. Ispisane brojeve odvojite razmakom.
# include <stdio.h>
int abs(int k){
if (k>=0) return k;
return -k;}
int main(){
int niz[69],n,i,kriterij,min;
scanf("%d",&n);
for (i=0;i<n;i++){
scanf("%d",&niz[i]);
if (i==0) min=niz[0];
else{
if (niz[i]<min) min=niz[i];}}
kriterij=abs(min)%16;
for (i=0;i<n;i++) if (abs(niz[i])%16==kriterij) printf("%d ",niz[i]);
return 0;
}
Ak se nekom da pogledat ovaj moj kod i rec zasto mi ga nece prihvatit,a na kompu mi normalno radi (tj. nisam naso kontraprimjer),bio bih zahvalan. :D
Napišite program koji učitava prirodni broj n<71, te niz od n cijelih brojeva. Program treba u originalnom poretku ispisati sve elemente x[i] niza takve da je ostatak pri dijeljenju apsolutne vrijednosti x[i] s 16 jednak ostatku koji pri istom takvom dijeljenju daje najmanji od učitanih brojeva. Ispisane brojeve odvojite razmakom.
# include <stdio.h>
int abs(int k){
if (k>=0) return k;
return -k;}
int main(){
int niz[69],n,i,kriterij,min;
scanf("%d",&n);
for (i=0;i<n;i++){
scanf("%d",&niz[i]);
if (i==0) min=niz[0];
else{
if (niz[i]<min) min=niz[i];}}
kriterij=abs(min)%16;
for (i=0;i<n;i++) if (abs(niz[i])%16==kriterij) printf("%d ",niz[i]);
return 0;
}
Ak se nekom da pogledat ovaj moj kod i rec zasto mi ga nece prihvatit,a na kompu mi normalno radi (tj. nisam naso kontraprimjer),bio bih zahvalan.
_________________ nekad sam bio umišljen al sam se promijenio sad sam savršen
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 23:41 čet, 13. 1. 2011 Naslov: |
|
|
[quote="pman"]Zna li tko zašto mi program neće snimit zadaću kad ju učitam,tj. za taj program mi izbaci:"Rješenja uspješno snimljena (broj snimljenih datoteka: 0). Možete se vratiti na korisničku stranicu.",a za ostale normalno radi?[/quote]
Znaci da nesto ne radis kako treba. Npr. mozda uploadas [tt].exe[/tt], umjesto [tt].c[/tt] ili je to sto uploadas u znak identicno onome sto je vec snimljeno.
pman (napisa): | Zna li tko zašto mi program neće snimit zadaću kad ju učitam,tj. za taj program mi izbaci:"Rješenja uspješno snimljena (broj snimljenih datoteka: 0). Možete se vratiti na korisničku stranicu.",a za ostale normalno radi? |
Znaci da nesto ne radis kako treba. Npr. mozda uploadas .exe, umjesto .c ili je to sto uploadas u znak identicno onome sto je vec snimljeno.
_________________ 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] |
|
ceps Forumaš(ica)

Pridružen/a: 08. 10. 2010. (13:03:07) Postovi: (13A)16
|
Postano: 19:13 pet, 14. 1. 2011 Naslov: |
|
|
Zadatak 4:
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 38 (uključivo).
[code:1]
#include <stdio.h>
int prost (int n)
{
int i, prost = 1;
if (n == 0 || n == 1) return 0;
for (i = 2; i <= n/2; i++ )
{
if (n % i == 0)
{
prost = 0;
break;
}
}
if (prost) return 1;
else return 0;
}
int main ()
{
int n, i, suma = 0, j;
scanf("%d", &n);
if (n <= 38)
{
for (i = n; i <= 38; i++)
{
if (i == 0) continue;
for (j = 2; j <= i; j++)
{
if (prost(j) && (i % j == 0)) suma = suma + j;
}
}
}
else if (n > 38)
{
for (i = n; i >= 38; i--)
{
if (i == 0) continue;
for (j = 2; j <= i; j++)
{
if (prost(j) && (i % j == 0)) suma = suma + j;
}
}
}
printf("%d", suma);
return 0;
}
[/code:1]
Za par brojeva koje sam isprobao radi... ali program ga ne prihvaća. Išao sam gledati na kojim stvarima ''pada'' i vidio sam da pada na negativnom broju... al opet, ne shvaćam što sam krivo napravio.
Hint?
Zadatak 4:
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 38 (uključivo).
Kod: |
#include <stdio.h>
int prost (int n)
{
int i, prost = 1;
if (n == 0 || n == 1) return 0;
for (i = 2; i <= n/2; i++ )
{
if (n % i == 0)
{
prost = 0;
break;
}
}
if (prost) return 1;
else return 0;
}
int main ()
{
int n, i, suma = 0, j;
scanf("%d", &n);
if (n <= 38)
{
for (i = n; i <= 38; i++)
{
if (i == 0) continue;
for (j = 2; j <= i; j++)
{
if (prost(j) && (i % j == 0)) suma = suma + j;
}
}
}
else if (n > 38)
{
for (i = n; i >= 38; i--)
{
if (i == 0) continue;
for (j = 2; j <= i; j++)
{
if (prost(j) && (i % j == 0)) suma = suma + j;
}
}
}
printf("%d", suma);
return 0;
}
|
Za par brojeva koje sam isprobao radi... ali program ga ne prihvaća. Išao sam gledati na kojim stvarima ''pada'' i vidio sam da pada na negativnom broju... al opet, ne shvaćam što sam krivo napravio.
Hint?
|
|
[Vrh] |
|
fejky Forumaš(ica)

Pridružen/a: 23. 06. 2010. (16:53:45) Postovi: (3D)16
Spol: 
|
|
[Vrh] |
|
ceps Forumaš(ica)

Pridružen/a: 08. 10. 2010. (13:03:07) Postovi: (13A)16
|
|
[Vrh] |
|
matijaB Forumaš(ica)

Pridružen/a: 19. 08. 2010. (09:11:43) Postovi: (4D)16
|
Postano: 11:06 ned, 16. 1. 2011 Naslov: |
|
|
[code:1]#include<stdio.h>
int znamenka,znamenka_dobra=0,t;
void padajuci1(int a,int b)
{
while (a>b)
{
a=a-1;
t=a;
while(t>0)
{
znamenka=t%8;
if(znamenka==4||znamenka==5||znamenka==6)
t=t/8;
znamenka_dobra=1;
}
if(znamenka_dobra)printf("%d",a);
}
if(znamenka_dobra==0)
printf("Nema takvih brojeva.");
return;
}
void padajuci2(int a,int b)
{
while (b>a)
{
b=b-1;
t=b;
while(t>0)
{
znamenka=t%8;
if(znamenka==4||znamenka==5||znamenka==6)
t=t/8;
znamenka_dobra=1;
}
if(znamenka_dobra)printf("%d",b);
}
if(znamenka_dobra==0)
printf("Nema takvih brojeva.");
return;
}
int main(void)
{
int c,a,b;
printf("upisi a");
scanf("%d",&a);
printf("upisi a");
scanf("%d",&b);
if(a>b) padajuci1(int a,int b);
if(a<b) padajuci2(int a,int b);
if(a==b) printf("Nema takvih brojeva.");
return 0;
}
[/code:1]
javlja mi grešku kod grananja...nešto kao fali izraz prije int...može help?
Kod: | #include<stdio.h>
int znamenka,znamenka_dobra=0,t;
void padajuci1(int a,int b)
{
while (a>b)
{
a=a-1;
t=a;
while(t>0)
{
znamenka=t%8;
if(znamenka==4||znamenka==5||znamenka==6)
t=t/8;
znamenka_dobra=1;
}
if(znamenka_dobra)printf("%d",a);
}
if(znamenka_dobra==0)
printf("Nema takvih brojeva.");
return;
}
void padajuci2(int a,int b)
{
while (b>a)
{
b=b-1;
t=b;
while(t>0)
{
znamenka=t%8;
if(znamenka==4||znamenka==5||znamenka==6)
t=t/8;
znamenka_dobra=1;
}
if(znamenka_dobra)printf("%d",b);
}
if(znamenka_dobra==0)
printf("Nema takvih brojeva.");
return;
}
int main(void)
{
int c,a,b;
printf("upisi a");
scanf("%d",&a);
printf("upisi a");
scanf("%d",&b);
if(a>b) padajuci1(int a,int b);
if(a<b) padajuci2(int a,int b);
if(a==b) printf("Nema takvih brojeva.");
return 0;
}
|
javlja mi grešku kod grananja...nešto kao fali izraz prije int...može help?
|
|
[Vrh] |
|
fejky Forumaš(ica)

Pridružen/a: 23. 06. 2010. (16:53:45) Postovi: (3D)16
Spol: 
|
|
[Vrh] |
|
matijaB Forumaš(ica)

Pridružen/a: 19. 08. 2010. (09:11:43) Postovi: (4D)16
|
|
[Vrh] |
|
|