Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

zadaća,programiranje 1 (zadatak)
WWW:
Idite na Prethodno  1, 2, 3, 4, 5, 6, 7  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
fejky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 23. 06. 2010. (16:53:45)
Postovi: (3D)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
12 = 15 - 3

PostPostano: 16:34 sri, 12. 1. 2011    Naslov: Citirajte i odgovorite

[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? Confused


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Cobs
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15)
Postovi: (206)16
Spol: muško
Sarma = la pohva - posuda
26 = 40 - 14
Lokacija: Geto

PostPostano: 17:54 sri, 12. 1. 2011    Naslov: Citirajte i odgovorite

rješi se funkcije abs(), totalno je nepotrebna. // to nije greška, sam komentar

NULA ( 0 ) je također djeljiva s 15
rješi se funkcije abs(), totalno je nepotrebna. // to nije greška, sam komentar

NULA ( 0 ) je također djeljiva s 15


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
fejky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 23. 06. 2010. (16:53:45)
Postovi: (3D)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
12 = 15 - 3

PostPostano: 18:53 sri, 12. 1. 2011    Naslov: Citirajte i odgovorite

abs ostalo od prije, ali nije da utjece na bilo kaj.
I funkcionira za nulu, u checku u while petlju ulazi samo ako je a != 0, a ako nije vraca 1, znaci djeljivo je.
abs ostalo od prije, ali nije da utjece na bilo kaj.
I funkcionira za nulu, u checku u while petlju ulazi samo ako je a != 0, a ako nije vraca 1, znaci djeljivo je.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 19:01 sri, 12. 1. 2011    Naslov: Citirajte i odgovorite

Broj razilicit od nule i dalje moze imati znamenku nula. Recimo, broj 270 u bazi 18 ima zapis E0 i opet su obje znamenke djeljive s 15.

Funkcija [tt]abs()[/tt] je itekako potrebna, inace negativni brojevi dobiju negativne znamenke.
Broj razilicit od nule i dalje moze imati znamenku nula. Recimo, broj 270 u bazi 18 ima zapis E0 i opet su obje znamenke djeljive s 15.

Funkcija abs() je itekako potrebna, inace negativni brojevi dobiju negativne znamenke.



_________________
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.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Cobs
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15)
Postovi: (206)16
Spol: muško
Sarma = la pohva - posuda
26 = 40 - 14
Lokacija: Geto

PostPostano: 19:11 sri, 12. 1. 2011    Naslov: Citirajte i odgovorite

[quote="vsego"]
Funkcija [tt]abs()[/tt] je itekako potrebna, inace negativni brojevi dobiju negativne znamenke.[/quote]

ja sam mislio samo zbog ovog:

[quote="fejky"]
[code:1]Napišite program koji učitava prirodne brojeve a i b[/code:1]
[/quote]
vsego (napisa):

Funkcija abs() je itekako potrebna, inace negativni brojevi dobiju negativne znamenke.


ja sam mislio samo zbog ovog:

fejky (napisa):

Kod:
Napišite program koji učitava prirodne brojeve a i b



[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
sailor m
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 23. 10. 2010. (10:46:13)
Postovi: (4E)16
Sarma = la pohva - posuda
= 2 - 2

PostPostano: 19:47 sri, 12. 1. 2011    Naslov: Citirajte i odgovorite

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]
Korisnički profil Pošaljite privatnu poruku
fejky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 23. 06. 2010. (16:53:45)
Postovi: (3D)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
12 = 15 - 3

PostPostano: 20:20 sri, 12. 1. 2011    Naslov: Citirajte i odgovorite

Nije u tome problem.

Problem je da nesmijes ukrasavati ispis, znaci ostavi samo

[code:1]printf("%lg", min*max);[/code:1]

I stavljaj kod u [code ][/code] tagove
Nije u tome problem.

Problem je da nesmijes ukrasavati ispis, znaci ostavi samo

Kod:
printf("%lg", min*max);


I stavljaj kod u [code ][/code] tagove


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Cobs
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15)
Postovi: (206)16
Spol: muško
Sarma = la pohva - posuda
26 = 40 - 14
Lokacija: Geto

PostPostano: 20:27 sri, 12. 1. 2011    Naslov: Citirajte i odgovorite

i još par puta pročitaj text zadatka i pogledaj što se točno traži
i još par puta pročitaj text zadatka i pogledaj što se točno traži


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
sailor m
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 23. 10. 2010. (10:46:13)
Postovi: (4E)16
Sarma = la pohva - posuda
= 2 - 2

PostPostano: 20:57 sri, 12. 1. 2011    Naslov: Citirajte i odgovorite

ovak:
ja sam i prije koristila \n u zadaćama i bile su ok.(al sam sad poslala bez "ukrašavanja" pa ću vidit)

a drugo ja sam ovaj zad bila shvatila na 2 načina:
1.vidi se iz prethodnog posta
2.da program treba ispisivati 2 umnoška(min1*min2 i max1*max2) (poslala sam i rj za ovo koje je također krivo) :(

no ako nijedan način nije točan nadam se da će mi neko objasnit što se točno traži u zadatku
ovak:
ja sam i prije koristila \n u zadaćama i bile su ok.(al sam sad poslala bez "ukrašavanja" pa ću vidit)

a drugo ja sam ovaj zad bila shvatila na 2 načina:
1.vidi se iz prethodnog posta
2.da program treba ispisivati 2 umnoška(min1*min2 i max1*max2) (poslala sam i rj za ovo koje je također krivo) Sad

no ako nijedan način nije točan nadam se da će mi neko objasnit što se točno traži u zadatku


[Vrh]
Korisnički profil Pošaljite privatnu poruku
fejky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 23. 06. 2010. (16:53:45)
Postovi: (3D)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
12 = 15 - 3

PostPostano: 21:04 sri, 12. 1. 2011    Naslov: Citirajte i odgovorite

[quote="sailor m"]
2.da program treba ispisivati 2 umnoška(min1*min2 i max1*max2) (poslala sam i rj za ovo koje je također krivo)[/quote]

Tak sam i ja prvi put :D

Nego, prodji si sa brojevima kroz program

recimo da unesemo ko prvi broj 10

udjemo u for petlju i unesemo -5.
program -5 pretvara u 5 i sprema ga ko min.

Jel vidis di je problem? Trebas usporedjivati apsolutne vrijednosti ali spremati "prave" vrijednosti.

Tak da na kraju ako uneses brojeve -1 1 2 3 4 5, dobijes -5, a ti dobivas 5.
sailor m (napisa):

2.da program treba ispisivati 2 umnoška(min1*min2 i max1*max2) (poslala sam i rj za ovo koje je također krivo)


Tak sam i ja prvi put Very Happy

Nego, prodji si sa brojevima kroz program

recimo da unesemo ko prvi broj 10

udjemo u for petlju i unesemo -5.
program -5 pretvara u 5 i sprema ga ko min.

Jel vidis di je problem? Trebas usporedjivati apsolutne vrijednosti ali spremati "prave" vrijednosti.

Tak da na kraju ako uneses brojeve -1 1 2 3 4 5, dobijes -5, a ti dobivas 5.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
sailor m
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 23. 10. 2010. (10:46:13)
Postovi: (4E)16
Sarma = la pohva - posuda
= 2 - 2

PostPostano: 21:23 sri, 12. 1. 2011    Naslov: Citirajte i odgovorite

znači ipak ću morat koristit abs...

hvala na pomoći!
znači ipak ću morat koristit abs...

hvala na pomoći!


[Vrh]
Korisnički profil Pošaljite privatnu poruku
pman
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 01. 11. 2009. (19:35:23)
Postovi: (3)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 20:47 čet, 13. 1. 2011    Naslov: Citirajte i odgovorite

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?
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?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
zvonkec
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 04. 11. 2010. (20:56:30)
Postovi: (37)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
12 = 14 - 2

PostPostano: 21:49 čet, 13. 1. 2011    Naslov: Citirajte i odgovorite

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. Very Happy



_________________
nekad sam bio umišljen al sam se promijenio sad sam savršen
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 23:41 čet, 13. 1. 2011    Naslov: Citirajte i odgovorite

[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.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ceps
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 08. 10. 2010. (13:03:07)
Postovi: (13A)16
Sarma = la pohva - posuda
71 = 74 - 3

PostPostano: 19:13 pet, 14. 1. 2011    Naslov: Citirajte i odgovorite

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]
Korisnički profil Pošaljite privatnu poruku
fejky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 23. 06. 2010. (16:53:45)
Postovi: (3D)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
12 = 15 - 3

PostPostano: 21:13 pet, 14. 1. 2011    Naslov: Citirajte i odgovorite

[code:1]
scanf("%d", &n); /* unesi recimo -10 */
if (n <= 38)
{
for (i = n; i <= 38; i++) /* i = -10 */
{
if (i == 0) continue;
for (j = 2; j <= i; j++) /* j <= i.. vidis gresku? nece ulaziti u ovu petlju sve dok se ne ispuni uvijek, a to je dok se vanjska petlja odvrti 12 puta i i ne dodje do 2.
*/
{
if (prost(j) && (i % j == 0)) suma = suma + j;
}

}
[/code:1]

Nadam se da ti je jasno sad di je greska :)
Kod:
   
scanf("%d", &n); /* unesi recimo -10 */
    if (n <= 38)
    {
        for (i = n; i <= 38; i++) /* i = -10 */
        {
            if (i == 0) continue;
            for (j = 2; j <= i; j++) /* j <= i.. vidis gresku? nece ulaziti u ovu petlju sve dok se ne ispuni uvijek, a to je dok se vanjska petlja odvrti 12 puta i i ne dodje do 2.
*/
            {
                if (prost(j) && (i % j == 0)) suma = suma + j;
            }

        }


Nadam se da ti je jasno sad di je greska Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku
ceps
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 08. 10. 2010. (13:03:07)
Postovi: (13A)16
Sarma = la pohva - posuda
71 = 74 - 3

PostPostano: 10:23 sub, 15. 1. 2011    Naslov: Citirajte i odgovorite

Hvala puno! Da, nije mi radilo za negativne brojeve... :)
Hvala puno! Da, nije mi radilo za negativne brojeve... Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku
matijaB
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 08. 2010. (09:11:43)
Postovi: (4D)16
Sarma = la pohva - posuda
= 5 - 5

PostPostano: 11:06 ned, 16. 1. 2011    Naslov: Citirajte i odgovorite

[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]
Korisnički profil Pošaljite privatnu poruku
fejky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 23. 06. 2010. (16:53:45)
Postovi: (3D)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
12 = 15 - 3

PostPostano: 11:21 ned, 16. 1. 2011    Naslov: Citirajte i odgovorite

Najjednostavnije ti je deklarirati funkciju prije main.
Funkciju definiras

[code:1]
tip ime (tip_varijable varijabla, .....){...
...
...
return tip; // ako nije void
}
[/code:1]

I onda jednostavno u main pozivas

[code:1]
....
ime (varijabla, ...);
....
[/code:1]

A ako ju deklariras poslije maina (ili poslije neke funkcije di ju koristis) onda trebas napraviti prototip prije funkcije u kojoj koristis

[code:1]tip ime(tip_varijable varijabla, ...);

int main(){...}
[/code:1]
Najjednostavnije ti je deklarirati funkciju prije main.
Funkciju definiras

Kod:

tip ime (tip_varijable varijabla, .....){...
     ...
     ...
     return tip; // ako nije void
}


I onda jednostavno u main pozivas

Kod:

....
ime (varijabla, ...);
....


A ako ju deklariras poslije maina (ili poslije neke funkcije di ju koristis) onda trebas napraviti prototip prije funkcije u kojoj koristis

Kod:
tip ime(tip_varijable varijabla, ...);

int main(){...}


[Vrh]
Korisnički profil Pošaljite privatnu poruku
matijaB
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 08. 2010. (09:11:43)
Postovi: (4D)16
Sarma = la pohva - posuda
= 5 - 5

PostPostano: 11:30 ned, 16. 1. 2011    Naslov: Citirajte i odgovorite

pa deklarirao sam obje funkcije prije glavne?
i kad ih hocu pozvat (koju cu pozvat ovisi o if-u) nešto ne štima...

ahaaaaa....sad sam malo bolje pogledo rvoj post....ne treba opet pisati tip varijable unutar zagrada ako smo vec deklarilali....tnx :)
pa deklarirao sam obje funkcije prije glavne?
i kad ih hocu pozvat (koju cu pozvat ovisi o if-u) nešto ne štima...

ahaaaaa....sad sam malo bolje pogledo rvoj post....ne treba opet pisati tip varijable unutar zagrada ako smo vec deklarilali....tnx Smile




Zadnja promjena: matijaB; 11:59 ned, 16. 1. 2011; ukupno mijenjano 1 put.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Idite na Prethodno  1, 2, 3, 4, 5, 6, 7  Sljedeće
Stranica 5 / 7.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan