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

praktični kolokvij
WWW:
Idite na Prethodno  1, 2, 3 ... 12, 13, 14, 15  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
ananas
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 28. 10. 2009. (17:56:24)
Postovi: (34)16
Sarma = la pohva - posuda
= 2 - 1

PostPostano: 16:01 uto, 24. 11. 2009    Naslov: Citirajte i odgovorite

moze li mi netko pomoc s ovim,4.zadatak,problem mi je sto treba ispisati samo par (220,284) a meni ispise i (284,220) kako da to izbacim ?
[code:1]#include <stdio.h>
#include <stdlib.h>

int main(void) {
int m,n,i,a,suma,j,t,k,sumb,b;
printf("unesite broj m : ");
scanf("%d", &m);
printf("unesite broj n : ");
scanf("%d", &n);
if(n<m) { t=m;
m=n;
n=t;
}
for(i=m; i<n; i++) {
suma=0;
sumb=0;
a=i;
for(j=1;j<a;j++) {if (a%j==0) suma+=j;}
if (suma<=n && suma>m) b=suma;
for (j=1; j<b; j++) {if (b%j==0) sumb+=j;}
if(sumb/a==1 && sumb%a==0) printf("%d i %d su prijateljski brojevi\n ", a, b);

}
system("pause");
return 0;
}[/code:1]
moze li mi netko pomoc s ovim,4.zadatak,problem mi je sto treba ispisati samo par (220,284) a meni ispise i (284,220) kako da to izbacim ?
Kod:
#include <stdio.h>
#include <stdlib.h>

int main(void) {
    int m,n,i,a,suma,j,t,k,sumb,b;
    printf("unesite broj m : ");
    scanf("%d", &m);
    printf("unesite broj n : ");
    scanf("%d", &n);
     if(n<m) { t=m;
              m=n;
              n=t;
              }
     for(i=m; i<n; i++) {       
              suma=0;
              sumb=0;
              a=i;
              for(j=1;j<a;j++) {if (a%j==0) suma+=j;}
              if (suma<=n && suma>m) b=suma;
              for (j=1; j<b; j++) {if (b%j==0) sumb+=j;}
                if(sumb/a==1 && sumb%a==0) printf("%d i %d su prijateljski brojevi\n ", a, b);
                         
               }
system("pause");
return 0;
}


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


Pridružen/a: 14. 11. 2007. (20:03:46)
Postovi: (1BC)16
Sarma = la pohva - posuda
= 15 - 11
Lokacija: Zgb

PostPostano: 16:46 uto, 24. 11. 2009    Naslov: Citirajte i odgovorite

to su dva RAZLIČITA uređena para ;)
tako da ti to i treba ispisati...bar su meni tako rekli na praktičnom,dobila sam taj zadatak :lol:
to su dva RAZLIČITA uređena para Wink
tako da ti to i treba ispisati...bar su meni tako rekli na praktičnom,dobila sam taj zadatak Laughing


[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: 21:08 uto, 24. 11. 2009    Naslov: Citirajte i odgovorite

[quote=".anchy."]to su dva RAZLIČITA uređena para ;)[/quote]

Tocno tako. Elementarna matematika:
{220,284} i {284,220} su jednaki [b]skupovi[/b], ali
(220,284) i (284,220) su razliciti [b]uredjeni parovi[/b].
.anchy. (napisa):
to su dva RAZLIČITA uređena para Wink


Tocno tako. Elementarna matematika:
{220,284} i {284,220} su jednaki skupovi, ali
(220,284) i (284,220) su razliciti uredjeni parovi.



_________________
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
miam
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 03. 11. 2009. (11:19:45)
Postovi: (70)16
Spol: žensko
Sarma = la pohva - posuda
-1 = 3 - 4

PostPostano: 21:47 uto, 24. 11. 2009    Naslov: Citirajte i odgovorite

moze li mi netko reci zasto mi ovaj zadatak ne radi samo za neke odredjene brojeve, npr za 345.654?

[code:1]

#include<stdio.h>
#include<stdlib.h>
int main (void)
{
double x,y,u;
int a,b,s1=0,s2=0;
scanf("%lg", &x);
u=x-(int)x;
a=(int)(x-u);
printf("%d\n%g\n", a, u);
printf("%g\n", u);
u *=10000;
printf("%g\n", u);
b=(int)u;
printf("%d\n", b);
while ( b%10 == 0) b /=10;
printf("%d\n%d\n", a, b);
while(b>0)
{
s1=10*s1+b%10;
b/=10;
}
u=s1;
while(a>0)
{
s2=10*s2+a%10;;
a/=10;
}
y=s2;
while(y>1) y/=10;
printf("\n%lg\n",u+y);
system("pause");
return 0;
}

[/code:1]

[size=9][color=#999999]Added after 59 seconds:[/color][/size]

iii, ima li netko rjesenje 32 zadatka, ali bez koristenja polja..?
moze li mi netko reci zasto mi ovaj zadatak ne radi samo za neke odredjene brojeve, npr za 345.654?

Kod:


#include<stdio.h>
#include<stdlib.h>
int main (void)
{
    double x,y,u;
    int a,b,s1=0,s2=0;
    scanf("%lg", &x);
    u=x-(int)x;
    a=(int)(x-u);
    printf("%d\n%g\n", a, u);
     printf("%g\n", u);
    u *=10000;
    printf("%g\n", u);
     b=(int)u;
     printf("%d\n", b);
    while ( b%10 == 0) b /=10;
    printf("%d\n%d\n", a, b);
    while(b>0)
    {
              s1=10*s1+b%10;
              b/=10;
    }
    u=s1;
    while(a>0)
     {
              s2=10*s2+a%10;;
              a/=10;
    }
    y=s2;
    while(y>1) y/=10;
    printf("\n%lg\n",u+y);
    system("pause");
    return 0;
}



Added after 59 seconds:

iii, ima li netko rjesenje 32 zadatka, ali bez koristenja polja..?



_________________
<3
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Buga.
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 20. 02. 2008. (22:04:58)
Postovi: (18E)16
Spol: žensko
Sarma = la pohva - posuda
= 42 - 33

PostPostano: 22:39 uto, 24. 11. 2009    Naslov: Citirajte i odgovorite

kad se ponovno pise prakticni?
kad se ponovno pise prakticni?


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


Pridružen/a: 11. 09. 2008. (10:54:06)
Postovi: (370)16
Sarma = la pohva - posuda
-29 = 108 - 137
Lokacija: Pula

PostPostano: 0:05 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

[quote="vsego"][quote=".anchy."]to su dva RAZLIČITA uređena para ;)[/quote]

Tocno tako. Elementarna matematika:
{220,284} i {284,220} su jednaki [b]skupovi[/b], ali
(220,284) i (284,220) su razliciti [b]uredjeni parovi[/b].[/quote]

e, al, kao sto mi je neko napomenuo ne bas davno, tamo pise parovi, a ne uredeni parovi :lol:
sorry al nisam se mogao suzdrzat 8)

[quote="vsego"][quote="Gino"][quote="vsego"][quote="Gino"]i s obzirom da "ispisuje sve parove", dal je krivo ako ispise
a = 220, b = 284
a = 284, b = 220[/quote]
Pa, kad se trazi da se ispise "sve nesto", misli se "svakog jednom". :)[/quote]
pa da al tamo pise da treba ispisat a = 220, b = 284
al (220,284) je jedno a drugo je (284,220)[/quote]

Pise "parovi", a ne "uredjeni parovi". :)

Umjesto lingvistickih igrica, evo ti bolja mozgalica: rijesi zadatak s prijateljskim brojevima tako da slozenost bude strogo manja od kvadratne. :D[/quote]

uglavnom, cijela stvar je poprilicno nebitna...
modifikacija je trivijalna
vsego (napisa):
.anchy. (napisa):
to su dva RAZLIČITA uređena para Wink


Tocno tako. Elementarna matematika:
{220,284} i {284,220} su jednaki skupovi, ali
(220,284) i (284,220) su razliciti uredjeni parovi.


e, al, kao sto mi je neko napomenuo ne bas davno, tamo pise parovi, a ne uredeni parovi Laughing
sorry al nisam se mogao suzdrzat Cool

vsego (napisa):
Gino (napisa):
vsego (napisa):
Gino (napisa):
i s obzirom da "ispisuje sve parove", dal je krivo ako ispise
a = 220, b = 284
a = 284, b = 220

Pa, kad se trazi da se ispise "sve nesto", misli se "svakog jednom". Smile

pa da al tamo pise da treba ispisat a = 220, b = 284
al (220,284) je jedno a drugo je (284,220)


Pise "parovi", a ne "uredjeni parovi". Smile

Umjesto lingvistickih igrica, evo ti bolja mozgalica: rijesi zadatak s prijateljskim brojevima tako da slozenost bude strogo manja od kvadratne. Very Happy


uglavnom, cijela stvar je poprilicno nebitna...
modifikacija je trivijalna



_________________
Mario Berljafa
[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: 5:11 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

@Gino: Eh, ne znam ja zadatke na pamet. Ako pise "parovi", onda svakog jednom (ignorirajuci uredjaj). Mozemo reci "dvoclani multiskupovi", ali to bi pouzdano zbunilo vise ljudi nego ovako.

@ananas: Samo se pobrini da je uvijek [tt]a < b[/tt] i imas jedinstvenost. To je cesti stos kad trebas jedinstvenost. Naravno, poseban je slucaj kad su [tt]a[/tt] i [tt]b[/tt] jednaki (osim ako i to zadatak iskljucuje kao mogucnost).
Stvar je, naravno, laksa ako se rijesi linearnom slozenoscu, umjesto ove tvoje kvadratne, jer onda nema brige o "specijalnom" slucaju.

@Buga: Subota, 5.12., i/ili tjedan iza toga; iduci tjedan ce se znati termini i bit ce upisivanje u liste (ne ide prije, jer do petka necemo znati koliko termina treba).
@Gino: Eh, ne znam ja zadatke na pamet. Ako pise "parovi", onda svakog jednom (ignorirajuci uredjaj). Mozemo reci "dvoclani multiskupovi", ali to bi pouzdano zbunilo vise ljudi nego ovako.

@ananas: Samo se pobrini da je uvijek a < b i imas jedinstvenost. To je cesti stos kad trebas jedinstvenost. Naravno, poseban je slucaj kad su a i b jednaki (osim ako i to zadatak iskljucuje kao mogucnost).
Stvar je, naravno, laksa ako se rijesi linearnom slozenoscu, umjesto ove tvoje kvadratne, jer onda nema brige o "specijalnom" slucaju.

@Buga: Subota, 5.12., i/ili tjedan iza toga; iduci tjedan ce se znati termini i bit ce upisivanje u liste (ne ide prije, jer do petka necemo znati koliko termina treba).



_________________
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: 10:18 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

[quote="miam"]moze li mi netko reci zasto mi ovaj zadatak ne radi samo za neke odredjene brojeve, npr za 345.654?

[code:1]

#include<stdio.h>
#include<stdlib.h>
int main (void)
{
double x,y,u;
int a,b,s1=0,s2=0;
scanf("%lg", &x);
u=x-(int)x;
a=(int)(x-u);
printf("%d\n%g\n", a, u);
printf("%g\n", u);
u *=10000;
printf("%g\n", u);
b=(int)u;
printf("%d\n", b);
while ( b%10 == 0) b /=10;
printf("%d\n%d\n", a, b);
while(b>0)
{
s1=10*s1+b%10;
b/=10;
}
u=s1;
while(a>0)
{
s2=10*s2+a%10;;
a/=10;
}
y=s2;
while(y>1) y/=10;
printf("\n%lg\n",u+y);
system("pause");
return 0;
}

[/code:1]
[/quote]

mislim da sam rjesavao taja zadtak...
( to je jedan od onih... kad treba realan broj napisati naopacke ili zamijeniti decimalni i cjeli dio... )

ne radi za neke brojeve jer kada mnozis onaj decimalni dio npr:

imas 0.23 pa ga ti pomnozis sa 10000 on ga ne pretvori uvijek u 2300 ( barem je meni stalno baco te male greske u izracunu ) nego mi je izracuno: 2299 i onda naravno ne bi dobil ono kaj sam htio...

( napomena: ja sam ga mnozio u par koraka sa 10, a ne odmah sa 10000 tak da bi i tu postojala razlika, al svejedno pogledaj u kaj ti ga pretvara u nekom djelu koda.... )
miam (napisa):
moze li mi netko reci zasto mi ovaj zadatak ne radi samo za neke odredjene brojeve, npr za 345.654?

Kod:


#include<stdio.h>
#include<stdlib.h>
int main (void)
{
    double x,y,u;
    int a,b,s1=0,s2=0;
    scanf("%lg", &x);
    u=x-(int)x;
    a=(int)(x-u);
    printf("%d\n%g\n", a, u);
     printf("%g\n", u);
    u *=10000;
    printf("%g\n", u);
     b=(int)u;
     printf("%d\n", b);
    while ( b%10 == 0) b /=10;
    printf("%d\n%d\n", a, b);
    while(b>0)
    {
              s1=10*s1+b%10;
              b/=10;
    }
    u=s1;
    while(a>0)
     {
              s2=10*s2+a%10;;
              a/=10;
    }
    y=s2;
    while(y>1) y/=10;
    printf("\n%lg\n",u+y);
    system("pause");
    return 0;
}




mislim da sam rjesavao taja zadtak...
( to je jedan od onih... kad treba realan broj napisati naopacke ili zamijeniti decimalni i cjeli dio... )

ne radi za neke brojeve jer kada mnozis onaj decimalni dio npr:

imas 0.23 pa ga ti pomnozis sa 10000 on ga ne pretvori uvijek u 2300 ( barem je meni stalno baco te male greske u izracunu ) nego mi je izracuno: 2299 i onda naravno ne bi dobil ono kaj sam htio...

( napomena: ja sam ga mnozio u par koraka sa 10, a ne odmah sa 10000 tak da bi i tu postojala razlika, al svejedno pogledaj u kaj ti ga pretvara u nekom djelu koda.... )


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


Pridružen/a: 21. 11. 2009. (14:38:39)
Postovi: (2C)16
Sarma = la pohva - posuda
-1 = 2 - 3

PostPostano: 12:31 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

pitanje za vsegu: da li smijemo sada na prvom prakticnom rjesavati zadatake pomocu nizova (npr 3)??
pitanje za vsegu: da li smijemo sada na prvom prakticnom rjesavati zadatake pomocu nizova (npr 3)??


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


Pridružen/a: 17. 11. 2009. (17:14:03)
Postovi: (21)16
Spol: muško
Sarma = la pohva - posuda
= 4 - 3
Lokacija: Tangenta

PostPostano: 13:03 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

[quote="Cobs"][quote="miam"]moze li mi netko reci zasto mi ovaj zadatak ne radi samo za neke odredjene brojeve, npr za 345.654?

[code:1]

#include<stdio.h>
#include<stdlib.h>
int main (void)
{
double x,y,u;
int a,b,s1=0,s2=0;
scanf("%lg", &x);
u=x-(int)x;
a=(int)(x-u);
printf("%d\n%g\n", a, u);
printf("%g\n", u);
u *=10000;
printf("%g\n", u);
b=(int)u;
printf("%d\n", b);
while ( b%10 == 0) b /=10;
printf("%d\n%d\n", a, b);
while(b>0)
{
s1=10*s1+b%10;
b/=10;
}
u=s1;
while(a>0)
{
s2=10*s2+a%10;;
a/=10;
}
y=s2;
while(y>1) y/=10;
printf("\n%lg\n",u+y);
system("pause");
return 0;
}

[/code:1]
[/quote]

mislim da sam rjesavao taja zadtak...
( to je jedan od onih... kad treba realan broj napisati naopacke ili zamijeniti decimalni i cjeli dio... )

ne radi za neke brojeve jer kada mnozis onaj decimalni dio npr:

imas 0.23 pa ga ti pomnozis sa 10000 on ga ne pretvori uvijek u 2300 ( barem je meni stalno baco te male greske u izracunu ) nego mi je izracuno: 2299 i onda naravno ne bi dobil ono kaj sam htio...

( napomena: ja sam ga mnozio u par koraka sa 10, a ne odmah sa 10000 tak da bi i tu postojala razlika, al svejedno pogledaj u kaj ti ga pretvara u nekom djelu koda.... )[/quote]

Zato jer iz double pretvarate u intove,
% - mod funkcija za realne brojeve je [b]fmod[/b]
[code:1]printf ("Ostatak dijeljenja 5.5/2 is %g\n", fmod (5.5,2) );[/code:1]

za razdvajanje brojeva na decimalni i cijeli imaš [b]modf[/b]
[code:1]double broj,decimalni_dio,cijeli_dio;
decimalni_dio = modf (broj , &cijeli_dio);[/code:1]
Obje se nalaze u math.h biblioteci pa ih možete koristiti, no nisu potrebne za rješnje zadatka, nisam bacio previše oko na tvoje rješenje jer je preglomazno, naprosto previše petljaš, doslovno, sa tim petljama, probaj ponovo sa drugim pristupom...

[size=9][color=#999999]Added after 2 minutes:[/color][/size]

[quote="Vanja_"]pitanje za vsegu: da li smijemo sada na prvom prakticnom rjesavati zadatake pomocu nizova (npr 3)??[/quote]
Ako znaš, smiješ, to je rečeno par puta, no ne vidim zašto?
mislim da rješenje tog zadatka imaš među prvim stranicama...
Cobs (napisa):
miam (napisa):
moze li mi netko reci zasto mi ovaj zadatak ne radi samo za neke odredjene brojeve, npr za 345.654?

Kod:


#include<stdio.h>
#include<stdlib.h>
int main (void)
{
    double x,y,u;
    int a,b,s1=0,s2=0;
    scanf("%lg", &x);
    u=x-(int)x;
    a=(int)(x-u);
    printf("%d\n%g\n", a, u);
     printf("%g\n", u);
    u *=10000;
    printf("%g\n", u);
     b=(int)u;
     printf("%d\n", b);
    while ( b%10 == 0) b /=10;
    printf("%d\n%d\n", a, b);
    while(b>0)
    {
              s1=10*s1+b%10;
              b/=10;
    }
    u=s1;
    while(a>0)
     {
              s2=10*s2+a%10;;
              a/=10;
    }
    y=s2;
    while(y>1) y/=10;
    printf("\n%lg\n",u+y);
    system("pause");
    return 0;
}




mislim da sam rjesavao taja zadtak...
( to je jedan od onih... kad treba realan broj napisati naopacke ili zamijeniti decimalni i cjeli dio... )

ne radi za neke brojeve jer kada mnozis onaj decimalni dio npr:

imas 0.23 pa ga ti pomnozis sa 10000 on ga ne pretvori uvijek u 2300 ( barem je meni stalno baco te male greske u izracunu ) nego mi je izracuno: 2299 i onda naravno ne bi dobil ono kaj sam htio...

( napomena: ja sam ga mnozio u par koraka sa 10, a ne odmah sa 10000 tak da bi i tu postojala razlika, al svejedno pogledaj u kaj ti ga pretvara u nekom djelu koda.... )


Zato jer iz double pretvarate u intove,
% - mod funkcija za realne brojeve je fmod
Kod:
printf ("Ostatak dijeljenja 5.5/2 is %g\n", fmod (5.5,2) );


za razdvajanje brojeva na decimalni i cijeli imaš modf
Kod:
double broj,decimalni_dio,cijeli_dio;
decimalni_dio = modf (broj , &cijeli_dio);

Obje se nalaze u math.h biblioteci pa ih možete koristiti, no nisu potrebne za rješnje zadatka, nisam bacio previše oko na tvoje rješenje jer je preglomazno, naprosto previše petljaš, doslovno, sa tim petljama, probaj ponovo sa drugim pristupom...

Added after 2 minutes:

Vanja_ (napisa):
pitanje za vsegu: da li smijemo sada na prvom prakticnom rjesavati zadatake pomocu nizova (npr 3)??

Ako znaš, smiješ, to je rečeno par puta, no ne vidim zašto?
mislim da rješenje tog zadatka imaš među prvim stranicama...


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


Pridružen/a: 03. 11. 2009. (11:19:45)
Postovi: (70)16
Spol: žensko
Sarma = la pohva - posuda
-1 = 3 - 4

PostPostano: 18:57 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

ima li netko lijepo rjesenje za 20. zadatak?

[size=9][color=#999999]Added after 37 minutes:[/color][/size]

rjesila sam :)
ima li netko lijepo rjesenje za 20. zadatak?

Added after 37 minutes:

rjesila sam Smile



_________________
<3
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Vanja_
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 11. 2009. (14:38:39)
Postovi: (2C)16
Sarma = la pohva - posuda
-1 = 2 - 3

PostPostano: 19:05 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

da li mozda netko zan gdje je greska?? non stop me muce greske u programu koje compiler ne nadje nego kad ga run-am mi se pojavljuje obavijest od windowsa za debug... :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil:

[code:1]#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int brznam, x;

scanf ("%d", x);

brznam=0;

while (x/10!=0)
{brznam=brznam+1;
x=x/10;}

printf ("%d", brznam);

system ("pause");
return 0;}
[/code:1]
da li mozda netko zan gdje je greska?? non stop me muce greske u programu koje compiler ne nadje nego kad ga run-am mi se pojavljuje obavijest od windowsa za debug... Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad

Kod:
#include <stdio.h>
#include <stdlib.h>
int main (void)
{   
    int brznam, x;
   
    scanf ("%d", x);
   
    brznam=0;
   
    while (x/10!=0)
    {brznam=brznam+1;
    x=x/10;}
   
    printf ("%d", brznam);
   
    system ("pause");
    return 0;}


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


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 19:13 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

Kod učitavanja ti fali & :D
Kod učitavanja ti fali & Very Happy



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Vanja_
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 11. 2009. (14:38:39)
Postovi: (2C)16
Sarma = la pohva - posuda
-1 = 2 - 3

PostPostano: 19:29 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

koja sam ja budaletina... od ocaja sam skoro bacio komp kroz prozor... hvala :D
koja sam ja budaletina... od ocaja sam skoro bacio komp kroz prozor... hvala Very Happy


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


Pridružen/a: 03. 11. 2009. (11:19:45)
Postovi: (70)16
Spol: žensko
Sarma = la pohva - posuda
-1 = 3 - 4

PostPostano: 20:00 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

moze li mi netko reci gdje je greska ovdje..pliiiiz


[code:1]

#include <stdio.h>
#include <stdlib.h>

int main() {
int d1, m1, g1, d2, m2, g2, n=1;

printf("unesite datum:\n");
scanf("%d%d%d", &d1, &m1, &g1);
printf("unesite drugi datum:\n");
scanf("%d%d%d", &d2, &m2, &g2);

if ((m1==2 && (g1%4==0) && d1>29) || (m1==2 && (g1%4!=0) && d1>28) ||
((m1==4 || m1==6 || m1==9 || m1==11) && d1>30) ||
(g1>2050 || g1<1950 || m1<1 || m1>12 || d1<1 || d1>31)) {
printf("greska.\n");
return 0;
}
if ((m2==2 && (g2%4==0) && d2>29) || (m2==2 && (g2%4!=0) && d2>28) ||
((m2==4 || m2==6 || m2==9 || m2==11) && d2>30) ||
(g2>2050 || g2<1950 || m2<1 || m2>12 || d2<1 || d2>31)) {
printf("greska.\n");
return 0;
}
if (g1<g2 || (g1==g2 && m1<m2) || (g1==g2 && m1==m2 && d1<d2)) {
int temp;
temp=g1;
g2=g1;
g1=temp;
temp=m1;
m2=m1;
m1=temp;
temp=d1;
d2=d1;
d1=temp;
}
while(d1!=d2 || m1!=m2 || g1!=g2) {
n++;
if((m1==2 && (m1%4==0) && d1<29) || (m1==2 && (g1%4!=0) && d1<28))
d1++;
else if((m1==1 || m1==3 || m1==5 || m1==7 || m1==8 || m1==10 || m1==12) && d1<31)
d1++;
else if((m1==4 || m1==6 || m1==9 || m1==11) && d1<30)
d1++;

else if((m1==2 && (m1%4==0) && d1==29) || (m1==2 && (g1%4!=0) && d1==28)||
((m1==1 || m1==3 || m1==5 || m1==7 || m1==8 || m1==10 || m1==12) && d1==31) ||
((m1==4 || m1==6 || m1==9 || m1==11) && d1==30)) {
d1==1;
if(m1==12) {
m1==1;
g1++;
}
else m1++;
}
}
printf("%d", n);
system("pause");
return 0;
}


[/code:1]

[size=9][color=#999999]Added after 21 seconds:[/color][/size]

to je 25 zadatak :)
moze li mi netko reci gdje je greska ovdje..pliiiiz


Kod:


#include <stdio.h>
#include <stdlib.h>

int main() {
    int d1, m1, g1, d2, m2, g2, n=1;
   
    printf("unesite datum:\n");
    scanf("%d%d%d", &d1, &m1, &g1);
    printf("unesite drugi datum:\n");
    scanf("%d%d%d", &d2, &m2, &g2);
   
    if ((m1==2 && (g1%4==0) && d1>29) || (m1==2 && (g1%4!=0) && d1>28) ||
    ((m1==4 || m1==6 || m1==9 || m1==11) && d1>30) ||
    (g1>2050 || g1<1950 || m1<1 || m1>12 || d1<1 || d1>31)) {
            printf("greska.\n");
            return 0;
    }
      if ((m2==2 && (g2%4==0) && d2>29) || (m2==2 && (g2%4!=0) && d2>28) ||
    ((m2==4 || m2==6 || m2==9 || m2==11) && d2>30) ||
    (g2>2050 || g2<1950 || m2<1 || m2>12 || d2<1 || d2>31)) {
            printf("greska.\n");
            return 0;
    }
    if (g1<g2 || (g1==g2 && m1<m2) || (g1==g2 && m1==m2 && d1<d2)) {
              int temp;
              temp=g1;
              g2=g1;
              g1=temp;
              temp=m1;
              m2=m1;
              m1=temp;
              temp=d1;
              d2=d1;
              d1=temp;
    }
    while(d1!=d2 || m1!=m2 || g1!=g2) {
             n++;
             if((m1==2 && (m1%4==0) && d1<29) || (m1==2 && (g1%4!=0) && d1<28))
             d1++;
             else if((m1==1 || m1==3 || m1==5 || m1==7 || m1==8 || m1==10 || m1==12) && d1<31)
             d1++;
             else if((m1==4 || m1==6 || m1==9 || m1==11) && d1<30)
             d1++;
             
             else if((m1==2 && (m1%4==0) && d1==29) || (m1==2 && (g1%4!=0) && d1==28)||
             ((m1==1 || m1==3 || m1==5 || m1==7 || m1==8 || m1==10 || m1==12) && d1==31) ||
              ((m1==4 || m1==6 || m1==9 || m1==11) && d1==30)) {
                     d1==1;
                     if(m1==12) {
                                m1==1;
                                g1++;
                     }
                     else m1++;
              }
    }
    printf("%d", n);
    system("pause");
    return 0;
}
                                       
                     


Added after 21 seconds:

to je 25 zadatak Smile



_________________
<3
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
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: 20:42 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

[quote="Vanja_"]od ocaja sam skoro bacio komp kroz prozor...[/quote]

Pa nije komp pisao program... :twisted: Opcenito, ako se program rusi, problem je gotovo uvijek s memorijom; dok ne naucite dinamicku alokaciju (drugi semestar), jedino gdje koristite pointere su ovi u [tt]scanf()[/tt] i uskoro varijabilni argumenti funkcija, pa si te stvari prve provjerite.

@miam:

1. Kriva ti je usporedba:
[tt]if (g1<g2 || (g1==g2 && m1<m2) || (g1==g2 && m1==m2 && d1<d2))[/tt]
jer kaze "ako je prvi datum prije drugog onda ih zamijeni", a kasnije povecavas prvi (dakle kasniji) datum. Zamijeni [tt]<[/tt] i [tt]>[/tt].

2. Zamjena ti ne valja. Uvrsti samo [tt]d1 = 17[/tt] i [tt]d2 = 19[/tt] i izvedi zamjenu samo ta dva broja onako kako si napisala:
[code:1]temp = d1;
d2 = d1;
d1 = temp;[/code:1]
Vazno je da to sama izvedes, da vidis sto se desi, pa ti zato necu napisati kako treba biti! Nije tesko, ali potrudi se sama; koristit ce ti.

3. Sam inkrement datuma ti ne valja jer imas
[code:1]if (uvjet1)
else if (uvjet2)
...
else if (uvjetn){...}[/code:1]
Ako niti jedan od uvjeta u [tt]if()[/tt]-ovima nije zadovoljen (a to se moze desiti jer ti nisu svi uvjeti dobri; nisam trazio koji tocno fusha), onda se inkrement nikad nece napraviti, pa dobijes beskonacnu petlju.

Odmah iza [tt]while (d1 != d2 || m1 != m2 || g1 != g2) {[/tt] dodaj
[tt]printf("%d: %d.%d.%d. - %d.%d.%d.\n", n, d1, m1, g1, d2, m2, g2);[/tt]
pa ces brzo naci koji datum ne povecava, a na osnovu toga vidis koji uvjet ne valja.
Vanja_ (napisa):
od ocaja sam skoro bacio komp kroz prozor...


Pa nije komp pisao program... Twisted Evil Opcenito, ako se program rusi, problem je gotovo uvijek s memorijom; dok ne naucite dinamicku alokaciju (drugi semestar), jedino gdje koristite pointere su ovi u scanf() i uskoro varijabilni argumenti funkcija, pa si te stvari prve provjerite.

@miam:

1. Kriva ti je usporedba:
if (g1<g2 || (g1==g2 && m1<m2) || (g1==g2 && m1==m2 && d1<d2))
jer kaze "ako je prvi datum prije drugog onda ih zamijeni", a kasnije povecavas prvi (dakle kasniji) datum. Zamijeni < i >.

2. Zamjena ti ne valja. Uvrsti samo d1 = 17 i d2 = 19 i izvedi zamjenu samo ta dva broja onako kako si napisala:
Kod:
temp = d1;
d2 = d1;
d1 = temp;

Vazno je da to sama izvedes, da vidis sto se desi, pa ti zato necu napisati kako treba biti! Nije tesko, ali potrudi se sama; koristit ce ti.

3. Sam inkrement datuma ti ne valja jer imas
Kod:
if (uvjet1)
else if (uvjet2)
...
else if (uvjetn){...}

Ako niti jedan od uvjeta u if()-ovima nije zadovoljen (a to se moze desiti jer ti nisu svi uvjeti dobri; nisam trazio koji tocno fusha), onda se inkrement nikad nece napraviti, pa dobijes beskonacnu petlju.

Odmah iza while (d1 != d2 || m1 != m2 || g1 != g2) { dodaj
printf("%d: %d.%d.%d. - %d.%d.%d.\n", n, d1, m1, g1, d2, m2, g2);
pa ces brzo naci koji datum ne povecava, a na osnovu toga vidis koji uvjet ne valja.



_________________
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
miam
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 03. 11. 2009. (11:19:45)
Postovi: (70)16
Spol: žensko
Sarma = la pohva - posuda
-1 = 3 - 4

PostPostano: 21:05 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

mozete li mi molim Vas reci valja li sad:

[code:1]

#include <stdio.h>
#include <stdlib.h>

int main() {
int d1, m1, g1, d2, m2, g2, n=1;

printf("unesite datum:\n");
scanf("%d%d%d", &d1, &m1, &g1);
printf("unesite drugi datum:\n");
scanf("%d%d%d", &d2, &m2, &g2);

if ((m1==2 && (g1%4==0) && d1>29) || (m1==2 && (g1%4!=0) && d1>28) ||
((m1==4 || m1==6 || m1==9 || m1==11) && d1>30) ||
(g1>2050 || g1<1950 || m1<1 || m1>12 || d1<1 || d1>31)) {
printf("greska.\n");
return 0;
}
if ((m2==2 && (g2%4==0) && d2>29) || (m2==2 && (g2%4!=0) && d2>28) ||
((m2==4 || m2==6 || m2==9 || m2==11) && d2>30) ||
(g2>2050 || g2<1950 || m2<1 || m2>12 || d2<1 || d2>31)) {
printf("greska.\n");
return 0;
}
if (g1>g2 || (g1==g2 && m1>m2) || (g1==g2 && m1==m2 && d1>d2)) {
int temp;
temp=g2;
g2=g1;
g1=temp;
temp=m2;
m2=m1;
m1=temp;
temp=d2;
d2=d1;
d1=temp;
}
while(d1!=d2 || m1!=m2 || g1!=g2) {
printf("%d: %d.%d.%d. - %d.%d.%d.\n", n, d1, m1, g1, d2, m2, g2);
n++;
if((m1==2 && (m1%4==0) && d1<29) || (m1==2 && (g1%4!=0) && d1<28))
d1++;
else if((m1==1 || m1==3 || m1==5 || m1==7 || m1==8 || m1==10 || m1==12) && d1<31)
d1++;
else if((m1==4 || m1==6 || m1==9 || m1==11) && d1<30)
d1++;

else if((m1==2 && (m1%4==0) && d1==29) || (m1==2 && (g1%4!=0) && d1==28)||
((m1==1 || m1==3 || m1==5 || m1==7 || m1==8 || m1==10 || m1==12) && d1==31) ||
((m1==4 || m1==6 || m1==9 || m1==11) && d1==30)) {
d1==1;
if(m1==12) {
m1==1;
g1++;
}
else m1++;
}
}
printf("%d\n", n);
system("pause");
return 0;
}
[/code:1]

naravno, ne treba ono printf, poslije while-a..i, promijenila sam onu zamjenu datuma i ono < i >..a za ovo 3. sta ste napisali, cini mi se da sad radi..??

[size=9][color=#999999]Added after 34 seconds:[/color][/size]

i hvala Vam puno :)
mozete li mi molim Vas reci valja li sad:

Kod:


#include <stdio.h>
#include <stdlib.h>

int main() {
    int d1, m1, g1, d2, m2, g2, n=1;
   
    printf("unesite datum:\n");
    scanf("%d%d%d", &d1, &m1, &g1);
    printf("unesite drugi datum:\n");
    scanf("%d%d%d", &d2, &m2, &g2);
   
    if ((m1==2 && (g1%4==0) && d1>29) || (m1==2 && (g1%4!=0) && d1>28) ||
    ((m1==4 || m1==6 || m1==9 || m1==11) && d1>30) ||
    (g1>2050 || g1<1950 || m1<1 || m1>12 || d1<1 || d1>31)) {
            printf("greska.\n");
            return 0;
    }
      if ((m2==2 && (g2%4==0) && d2>29) || (m2==2 && (g2%4!=0) && d2>28) ||
    ((m2==4 || m2==6 || m2==9 || m2==11) && d2>30) ||
    (g2>2050 || g2<1950 || m2<1 || m2>12 || d2<1 || d2>31)) {
            printf("greska.\n");
            return 0;
    }
    if (g1>g2 || (g1==g2 && m1>m2) || (g1==g2 && m1==m2 && d1>d2)) {
              int temp;
              temp=g2;
              g2=g1;
              g1=temp;
              temp=m2;
              m2=m1;
              m1=temp;
              temp=d2;
              d2=d1;
              d1=temp;
    }
    while(d1!=d2 || m1!=m2 || g1!=g2) {
                 printf("%d: %d.%d.%d. - %d.%d.%d.\n", n, d1, m1, g1, d2, m2, g2);
             n++;
             if((m1==2 && (m1%4==0) && d1<29) || (m1==2 && (g1%4!=0) && d1<28))
             d1++;
             else if((m1==1 || m1==3 || m1==5 || m1==7 || m1==8 || m1==10 || m1==12) && d1<31)
             d1++;
             else if((m1==4 || m1==6 || m1==9 || m1==11) && d1<30)
             d1++;
             
             else if((m1==2 && (m1%4==0) && d1==29) || (m1==2 && (g1%4!=0) && d1==28)||
             ((m1==1 || m1==3 || m1==5 || m1==7 || m1==8 || m1==10 || m1==12) && d1==31) ||
              ((m1==4 || m1==6 || m1==9 || m1==11) && d1==30)) {
                     d1==1;
                     if(m1==12) {
                                m1==1;
                                g1++;
                     }
                     else m1++;
              }
    }
    printf("%d\n", n);
    system("pause");
    return 0;
}


naravno, ne treba ono printf, poslije while-a..i, promijenila sam onu zamjenu datuma i ono < i >..a za ovo 3. sta ste napisali, cini mi se da sad radi..??

Added after 34 seconds:

i hvala Vam puno Smile



_________________
<3
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
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: 21:11 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

To sto radi za jedan ulaz, ne znaci da radi za sve. Probaj za
[tt]1 2 1991 2 1 1991[/tt]
Meni se zavrti u beskonacnoj petlji kad dodje do 31.1.1991. Zasto, ne znam... nisam trazio... to je bio prvi datum s kojim sam isprobavao.

Naravno, bez dodatnog [tt]printf()[/tt]-a ne bih (sa)znao da se zavrti u beskonacnost na datumu 31.1.1991. Dakle, dok se sredjuje program, korisno je (osim ako znas koristiti debugger, no meni su dodatni ispisi cesto pregledniji).
To sto radi za jedan ulaz, ne znaci da radi za sve. Probaj za
1 2 1991 2 1 1991
Meni se zavrti u beskonacnoj petlji kad dodje do 31.1.1991. Zasto, ne znam... nisam trazio... to je bio prvi datum s kojim sam isprobavao.

Naravno, bez dodatnog printf()-a ne bih (sa)znao da se zavrti u beskonacnost na datumu 31.1.1991. Dakle, dok se sredjuje program, korisno je (osim ako znas koristiti debugger, no meni su dodatni ispisi cesto pregledniji).



_________________
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
miam
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 03. 11. 2009. (11:19:45)
Postovi: (70)16
Spol: žensko
Sarma = la pohva - posuda
-1 = 3 - 4

PostPostano: 21:53 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

zasto on meni u ovom dijelu ispise da mi je (za onaj datum koje ste rekli) dan 31, a ne 1..? :oops:

[code:1]
else if((m1==2 && (m1%4==0) && d1>=29) || (m1==2 && (g1%4!=0) && d1>=28)||
((m1==1 || m1==3 || m1==5 || m1==7 || m1==8 || m1==10 || m1==12) && d1>=31) ||
((m1==4 || m1==6 || m1==9 || m1==11) && d1>=30)) {
d1==1;
printf("-%d\n", d1);
if(m1==12) {
m1==1;
g1++;
}
else m1++;
printf("%d\n", m1);
}
}[/code:1]
zasto on meni u ovom dijelu ispise da mi je (za onaj datum koje ste rekli) dan 31, a ne 1..? Embarassed

Kod:

 else if((m1==2 && (m1%4==0) && d1>=29) || (m1==2 && (g1%4!=0) && d1>=28)||
             ((m1==1 || m1==3 || m1==5 || m1==7 || m1==8 || m1==10 || m1==12) && d1>=31) ||
              ((m1==4 || m1==6 || m1==9 || m1==11) && d1>=30)) {
                      d1==1;
                      printf("-%d\n", d1);
                     if(m1==12) {       
                                m1==1;
                                g1++;
                     }
                     else m1++;
                     printf("%d\n", m1);
              }
    }



_________________
<3
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
dark mathematician
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 11. 2009. (22:05:18)
Postovi: (19)16
Spol: muško
Sarma = la pohva - posuda
= 2 - 1

PostPostano: 22:09 sri, 25. 11. 2009    Naslov: Citirajte i odgovorite

a da kod d1>=30 maknes = tj. napises d1>30
a da kod d1>=30 maknes = tj. napises d1>30


[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 ... 12, 13, 14, 15  Sljedeće
Stranica 13 / 15.

 
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