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
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: 21:39 ned, 14. 11. 2010    Naslov: Citirajte i odgovorite

u ispisu nisu odvojeni razmakom
u ispisu nisu odvojeni razmakom



_________________
Mario Berljafa
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Linadus
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 09. 2010. (12:57:28)
Postovi: (2C)16
Sarma = la pohva - posuda
= 4 - 3

PostPostano: 19:25 pon, 15. 11. 2010    Naslov: Citirajte i odgovorite

molim pomoc oko zadatka, za "male" brojeve ispada ok, ali nesto ne stima... :roll:
dakle, zadatak glasi:
"Napišite program koji učitava prirodne brojeve a i b, te u rastućem poretku ispisuje sve cijele brojeve oblika 5⋅4i-62 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!"

a moje 'rjesenje' je
[code:1]
#include <stdio.h>
int main (void)
{
int a, b, k = 1, i, j, broj;
scanf("%d", &a);
scanf("%d", &b);
if ( a < b )
{
for ( i = a + 1; i < b; i++)
{
for ( j=1; j <= i; j++) k = k*4;
broj = 5 * k - 62;
printf("%d ", broj);
}
}
if ( b < a )
{
for ( i = b + 1; i < a; i++)
{
for ( j=1; j <= i; j++) k = k*4;
broj = 5 * k - 62;
printf("%d ", broj);
}
}
if ( a == b ) printf("Nema takvih brojeva.");
return 0;
}
[/code:1]

???
molim pomoc oko zadatka, za "male" brojeve ispada ok, ali nesto ne stima... Rolling Eyes
dakle, zadatak glasi:
"Napišite program koji učitava prirodne brojeve a i b, te u rastućem poretku ispisuje sve cijele brojeve oblika 5⋅4i-62 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!"

a moje 'rjesenje' je
Kod:

#include <stdio.h>
int main (void)
{
    int a, b, k = 1, i, j, broj;
    scanf("%d", &a);
    scanf("%d", &b);
    if ( a < b )
    {
        for ( i = a + 1; i < b; i++)
        {
            for ( j=1; j <= i; j++) k = k*4;
            broj = 5 * k - 62;
            printf("%d ", broj);
        }
    }
    if ( b < a )
    {
        for ( i = b + 1; i < a; i++)
        {
            for ( j=1; j <= i; j++) k = k*4;
            broj = 5 * k - 62;
            printf("%d ", broj);
        }
    }
    if ( a == b ) printf("Nema takvih brojeva.");
    return 0;
}


???


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


Pridružen/a: 05. 10. 2009. (17:48:30)
Postovi: (143)16
Spol: muško
Sarma = la pohva - posuda
83 = 86 - 3

PostPostano: 19:43 pon, 15. 11. 2010    Naslov: Citirajte i odgovorite

Ja ne kuzim zadatak... jel bi trebalo pisat 20*i-62 ili 5*4^i - 62 ?
Ja ne kuzim zadatak... jel bi trebalo pisat 20*i-62 ili 5*4^i - 62 ?


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


Pridružen/a: 15. 05. 2010. (18:46:07)
Postovi: (164)16
Sarma: -

PostPostano: 19:56 pon, 15. 11. 2010    Naslov: Citirajte i odgovorite

Kod je pogrešan i program neće raditi ni približno ono što bi trebao. I to zato što si krivo formirala for petlje.
Također, kod ima neke manje propuste, kao npr., slučajevi kada je [latex]a \neq b[/latex], a rješenja nema (tada ne ispisuje ništa, a treba doći barem neki tekst); uporaba varijable k (ona kreće od 1, ali kada for petlja krene na novi broj, k se neće sam vratiti na 1, već će pamtiti staru vrijednost).

Dakle, za početak, dobro je što si razdvojila 3 slučaja, s obzirom na to kakvi su a i b. Također je dobro postavljen slučaj kada je a=b. Promatrajmo sada slučaj kada je, recimo, a<b.
Napravi for petlju (recimo, s varijablom i) koja se kreće od a+1 do b-1 (oba broja uključena, naravno) i pokušaj provjeriti je li on prikaziv kao [latex]5*4^k-62[/latex], tj. je li [latex]i=5*4^k-62[/latex], za neki [latex]k \in \mathbb{N} \cup \left\{ 0 \right\}[/latex] (ako je k izvan tog skupa, očito izraz [latex]5*4^k-62[/latex] ne bi bio prirodan broj, pa nema smisla tražiti). Kako ćemo to napraviti?
Imaš vrijednost od i (jer njime prolazimo kroz for petlju). Riješi jednadžbu po k! :D
Znači: zbroji i sa 62, podijeli i s 5 ako je djeljiv s njim (ako nije, onda idemo dalje na sljedeći broj u for petlji jer onda broj nije prikaziv na traženi način) i provjeri je li dobiveni i potencija broja 4. Ako da, ispiši ga. A ako ne, idi dalje na sljedeći broj jer taj očito nije prikaziv na traženi način.
I još mala napomena: kada radiš ovakav slučaj, ne možeš unaprijed znati postoji li takav broj, no možeš znati ukoliko ga pronađeš i ispišeš. Stoga ne bi bilo loše imati neku varijablu s nekom početnom vrijednošću koju ćeš poslije promijeniti čim nađeš neki broj. Recimo: inicijaliziraš p=0, a poslije u programu, čim ispisuje neko rješenje, obavezno staviš: p=1. Poslije samo provjeri je li p=0, jer, ako je, onda nisi ispisala nijedan broj u svom programu i onda trebaš ispisati prikladnu poruku. :)

Eto ti nekoliko smjernica za pisanje koda! :D
Napiši kod i, ako opet zapneš, samo ga pastaj ili reci u čemu je problem. :)


@pbakic: Ovo drugo. To sam se i ja pitao dok nisam pogledao kod. Inače ne bih ni ja znao. :P
Kod je pogrešan i program neće raditi ni približno ono što bi trebao. I to zato što si krivo formirala for petlje.
Također, kod ima neke manje propuste, kao npr., slučajevi kada je , a rješenja nema (tada ne ispisuje ništa, a treba doći barem neki tekst); uporaba varijable k (ona kreće od 1, ali kada for petlja krene na novi broj, k se neće sam vratiti na 1, već će pamtiti staru vrijednost).

Dakle, za početak, dobro je što si razdvojila 3 slučaja, s obzirom na to kakvi su a i b. Također je dobro postavljen slučaj kada je a=b. Promatrajmo sada slučaj kada je, recimo, a<b.
Napravi for petlju (recimo, s varijablom i) koja se kreće od a+1 do b-1 (oba broja uključena, naravno) i pokušaj provjeriti je li on prikaziv kao , tj. je li , za neki (ako je k izvan tog skupa, očito izraz ne bi bio prirodan broj, pa nema smisla tražiti). Kako ćemo to napraviti?
Imaš vrijednost od i (jer njime prolazimo kroz for petlju). Riješi jednadžbu po k! Very Happy
Znači: zbroji i sa 62, podijeli i s 5 ako je djeljiv s njim (ako nije, onda idemo dalje na sljedeći broj u for petlji jer onda broj nije prikaziv na traženi način) i provjeri je li dobiveni i potencija broja 4. Ako da, ispiši ga. A ako ne, idi dalje na sljedeći broj jer taj očito nije prikaziv na traženi način.
I još mala napomena: kada radiš ovakav slučaj, ne možeš unaprijed znati postoji li takav broj, no možeš znati ukoliko ga pronađeš i ispišeš. Stoga ne bi bilo loše imati neku varijablu s nekom početnom vrijednošću koju ćeš poslije promijeniti čim nađeš neki broj. Recimo: inicijaliziraš p=0, a poslije u programu, čim ispisuje neko rješenje, obavezno staviš: p=1. Poslije samo provjeri je li p=0, jer, ako je, onda nisi ispisala nijedan broj u svom programu i onda trebaš ispisati prikladnu poruku. Smile

Eto ti nekoliko smjernica za pisanje koda! Very Happy
Napiši kod i, ako opet zapneš, samo ga pastaj ili reci u čemu je problem. Smile


@pbakic: Ovo drugo. To sam se i ja pitao dok nisam pogledao kod. Inače ne bih ni ja znao. Razz




Zadnja promjena: Phoenix; 19:59 pon, 15. 11. 2010; ukupno mijenjano 1 put.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Linadus
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 09. 2010. (12:57:28)
Postovi: (2C)16
Sarma = la pohva - posuda
= 4 - 3

PostPostano: 19:56 pon, 15. 11. 2010    Naslov: Citirajte i odgovorite

[quote="pbakic"]Ja ne kuzim zadatak... jel bi trebalo pisat 20*i-62 ili 5*4^i - 62 ?[/quote]

oprosti, nisam ni skuzila da je tu drukcije...
ugl. 5*4^i -62 bi trebalo biti...
pbakic (napisa):
Ja ne kuzim zadatak... jel bi trebalo pisat 20*i-62 ili 5*4^i - 62 ?


oprosti, nisam ni skuzila da je tu drukcije...
ugl. 5*4^i -62 bi trebalo biti...


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


Pridružen/a: 09. 09. 2010. (09:09:31)
Postovi: (19)16
Spol: muško
Sarma = la pohva - posuda
= 5 - 4

PostPostano: 9:56 čet, 18. 11. 2010    Naslov: Citirajte i odgovorite

Napišite program koji učitava cijeli broj n, te ispisuje sumu svih prostih djelitelja (uvažavajući kratnost) svih cijelih brojeva različitih od nule koji se nalaze između n i 34 (uključivo).

[code:1]#include <stdio.h>
#include <stdlib.h>

int main ()
{
int n, i, l=34, d, suma=0, k;
scanf ("%d", &n);
if (n>34) {l=n; n=34;}
for (i=n; i<=l; ++i)
{
k=i;
if (i<0) k=-1*i;
for (d=2; d<=k; ++d)
{
if (i%d==0) {suma=suma+d; k=k/d;}
if (k%d==0) d=d-1;
}
}
printf ("%d", suma);
return 0 ;
}
[/code:1]

zbrajam sve proste djelitelje brojeva izmedju n i 34...al nekaj je krivo :roll:
Napišite program koji učitava cijeli broj n, te ispisuje sumu svih prostih djelitelja (uvažavajući kratnost) svih cijelih brojeva različitih od nule koji se nalaze između n i 34 (uključivo).

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

int main ()
{
    int n, i, l=34, d, suma=0, k;
    scanf ("%d", &n);
    if (n>34) {l=n; n=34;}
    for (i=n; i<=l; ++i)
    {
        k=i;
        if (i<0) k=-1*i;
        for (d=2; d<=k; ++d)
        {
        if (i%d==0) {suma=suma+d; k=k/d;}
        if (k%d==0) d=d-1;
        }
    }
printf ("%d", suma);
return 0 ;
}


zbrajam sve proste djelitelje brojeva izmedju n i 34...al nekaj je krivo Rolling Eyes


[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: 13:53 čet, 18. 11. 2010    Naslov: Citirajte i odgovorite

Ovako nabrzinu (zurim, sorry)...

Probaj tijelo vanjske petlje provesti za i=12. Dodat ces mu dvojku, [b]jednom[/b], dakle bez uvazavanja kratnosti.

Problem je u
[tt]if (i%d==0) {suma=suma+d; k=k/d;}[/tt]

Baci oko u skriptu. Taj algoritmic se radi maaaaalo drugacije.
Ovako nabrzinu (zurim, sorry)...

Probaj tijelo vanjske petlje provesti za i=12. Dodat ces mu dvojku, jednom, dakle bez uvazavanja kratnosti.

Problem je u
if (i%d==0) {suma=suma+d; k=k/d;}

Baci oko u skriptu. Taj algoritmic se radi maaaaalo drugacije.



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


Pridružen/a: 07. 09. 2010. (12:57:28)
Postovi: (2C)16
Sarma = la pohva - posuda
= 4 - 3

PostPostano: 14:26 ned, 28. 11. 2010    Naslov: Citirajte i odgovorite

Imam 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 27 (uključivo)."

i kod programa:
[code:1]
#include <stdio.h>
int main(void)
{
int n, p, suma = 0, i, s;
scanf("%d", &n);
if(n < 27)
{
for(i = n; i <= 27; i++)
{
p = 2;
s = i;
while(s > 1)
{
if(s % p == 0) suma = suma + p;
while(!(s % p)) s = s / p;
p++;
}
}
}
else
{
for(i = 27; i <= n; i++)
{
p = 2;
s = i;
while(s > 1)
{
if(s % p == 0) suma = suma + p;
while(!(s % p)) s = s / p;
p++;
}
}
}
printf("%d", suma);
return 0;
}
[/code:1]

koji 'radi' za n-ove manje od 27, ali ne za vece...ne mogu skontat zasto...moze pomoc? :)
Imam 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 27 (uključivo)."

i kod programa:
Kod:

#include <stdio.h>
int main(void)
{
    int n, p, suma = 0, i, s;
    scanf("%d", &n);
    if(n < 27)
    {
        for(i = n; i <= 27; i++)
        {
            p = 2;
            s = i;
            while(s > 1)
            {
                if(s % p == 0) suma = suma + p;
                while(!(s % p)) s = s / p;
                p++;
            }
        }
    }
    else
    {
        for(i = 27; i <= n; i++)
        {
            p = 2;
            s = i;
            while(s > 1)
            {
                if(s % p == 0) suma = suma + p;
                while(!(s % p)) s = s / p;
                p++;
            }
        }
    }
    printf("%d", suma);
    return 0;
}


koji 'radi' za n-ove manje od 27, ali ne za vece...ne mogu skontat zasto...moze pomoc? Smile


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


Pridružen/a: 12. 08. 2009. (02:14:39)
Postovi: (53)16
Spol: muško
Sarma = la pohva - posuda
19 = 23 - 4

PostPostano: 16:29 ned, 28. 11. 2010    Naslov: Citirajte i odgovorite

Koliko ja vidim, sve bi trebalo raditi, osim za negativne n-ove.
Koliko ja vidim, sve bi trebalo raditi, osim za negativne n-ove.


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


Pridružen/a: 14. 09. 2010. (17:43:27)
Postovi: (E)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 3 - 1

PostPostano: 18:15 ned, 12. 12. 2010    Naslov: Citirajte i odgovorite

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 -4 (uključivo).
[code:1]
#include<stdio.h>

int main(void){
int n,suma,prost,i,j,temp;
scanf("%d",&n);
suma=0;

for(i=-4;i<=n;i++){
temp=i;
if(i<0)
temp=-i;
prost=1;
if(i!=0){
for(j=2;j<temp;j++){
if(i%j==0)
prost=0;}
if(prost=1)
suma=suma+i;}}
printf("%d",suma);



return 0;
}
[/code:1]
Neznam što mi je krivo , verifikator nikako neće da potvrdi.
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 -4 (uključivo).
Kod:

#include<stdio.h>

int main(void){
    int n,suma,prost,i,j,temp;
    scanf("%d",&n);
    suma=0;

    for(i=-4;i<=n;i++){
        temp=i;
        if(i<0)
        temp=-i;
        prost=1;
        if(i!=0){
        for(j=2;j<temp;j++){
        if(i%j==0)
            prost=0;}
        if(prost=1)
        suma=suma+i;}}
    printf("%d",suma);



    return 0;
    }

Neznam što mi je krivo , verifikator nikako neće da potvrdi.


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


Pridružen/a: 05. 10. 2009. (17:48:30)
Postovi: (143)16
Spol: muško
Sarma = la pohva - posuda
83 = 86 - 3

PostPostano: 18:33 ned, 12. 12. 2010    Naslov: Citirajte i odgovorite

Ne znam dal je u tome stvar, ali pazi kad ucitavas n - ako je manji od -4, onda for petlja mora izgledat drukcije.
U svakom slucaju, ono sto treba doraditi je provjera dal je broj prost; slucaj kad je i=2 mora se provjeriti posebno, jer ce inace ova for petlja koju imas detektirati da je slozen (buduci da je djeljiv s 2).
(opcenito, provjeru dal je neki broj prost je najelegantnije rijesiti funkcijom)
Ne znam dal je u tome stvar, ali pazi kad ucitavas n - ako je manji od -4, onda for petlja mora izgledat drukcije.
U svakom slucaju, ono sto treba doraditi je provjera dal je broj prost; slucaj kad je i=2 mora se provjeriti posebno, jer ce inace ova for petlja koju imas detektirati da je slozen (buduci da je djeljiv s 2).
(opcenito, provjeru dal je neki broj prost je najelegantnije rijesiti funkcijom)


[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: 18:35 ned, 12. 12. 2010    Naslov: Citirajte i odgovorite

Slutim u cemu je problem, ali reci prvo sto ti verifikator kaze, za koji [i]n[/i] ne valja?
Slutim u cemu je problem, ali reci prvo sto ti verifikator kaze, za koji n 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
chiko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 14. 09. 2010. (17:43:27)
Postovi: (E)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 3 - 1

PostPostano: 18:53 ned, 12. 12. 2010    Naslov: Citirajte i odgovorite

[quote="vsego"]Slutim u cemu je problem, ali reci prvo sto ti verifikator kaze, za koji [i]n[/i] ne valja?[/quote]
ja vidim samo veliki crveni [b]X[/b] .... :cry: gdje se može vidjeti za koje n-ove ne valja?...

edit: našao!!! na mailu dakako..... evo što piše
Provjera zad: 2 (netočno za input: '34')
vsego (napisa):
Slutim u cemu je problem, ali reci prvo sto ti verifikator kaze, za koji n ne valja?

ja vidim samo veliki crveni X .... Crying or Very sad gdje se može vidjeti za koje n-ove ne valja?...

edit: našao!!! na mailu dakako..... evo što piše
Provjera zad: 2 (netočno za input: '34')



_________________
Kake-Bake
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Phoenix
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 05. 2010. (18:46:07)
Postovi: (164)16
Sarma: -

PostPostano: 19:11 ned, 12. 12. 2010    Naslov: Citirajte i odgovorite

pbakic je u pravu. Još moram uputiti na sljedeće:
- Opet pročitaj zadatak. Traži se suma prostih djelitelja svih brojeva iz intervala, a ne suma prostih brojeva iz intervala.
- Tvoj algoritam smatra da je 1 prost broj.
- U redu "if(prost=1)" trebaš imati dva znaka '=' da bi imali provjeru uvjeta. Ovo što je napisano je pridruživanje broja 1 varijabli prost.
pbakic je u pravu. Još moram uputiti na sljedeće:
- Opet pročitaj zadatak. Traži se suma prostih djelitelja svih brojeva iz intervala, a ne suma prostih brojeva iz intervala.
- Tvoj algoritam smatra da je 1 prost broj.
- U redu "if(prost=1)" trebaš imati dva znaka '=' da bi imali provjeru uvjeta. Ovo što je napisano je pridruživanje broja 1 varijabli prost.


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


Pridružen/a: 14. 09. 2010. (17:43:27)
Postovi: (E)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 3 - 1

PostPostano: 19:52 ned, 12. 12. 2010    Naslov: Citirajte i odgovorite

[code:1]#include<stdio.h>
#include<stdlib.h>

int main(void){
double x,min,max,i,f;
scanf("%lf",&x);
min=x;
max=x;
for(i=1;i<9;i++){
scanf("%lf",&x);
if(abs(x)<abs(min))
min=x;
if(abs(x)>abs(max))
max=x;}
f=max*min;
printf("%g",f);
return 0;
}
[/code:1]
Zadatak 4:

Napišite program koji učitava 9 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!

Ja pokušavam riješiti zadatak i nikako mi nece da prihvati odgovor kao tocan... i onda ja pogledam za koje x-eve ne radi....Provjera zad: 4 (netočno za input: '37.4951 -64.141 -14.8192 11.1707 31.9025 23.3064 -67.5214 -77.1163 77.5395')..... gledam ja u debuggeru i sve ide po planu osim što neke brojeve bez potrebe piše sa devetkama npr. -77.1163 piše kao -77.11629999999999999 i sve ide u redu dok ne učitam 77.5395 i onda mi neće da prebaci u max (neznam zašto ??) a trebalo bi jer je u tom trenutku bila max=-77.1163 tj. negova apsolutna vrijednost... Zahvaljujem unaprijed :?
Kod:
#include<stdio.h>
#include<stdlib.h>

int main(void){
    double x,min,max,i,f;
    scanf("%lf",&x);
    min=x;
    max=x;
    for(i=1;i<9;i++){
    scanf("%lf",&x);
    if(abs(x)<abs(min))
    min=x;
    if(abs(x)>abs(max))
    max=x;}
    f=max*min;
    printf("%g",f);
    return 0;
    }

Zadatak 4:

Napišite program koji učitava 9 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!

Ja pokušavam riješiti zadatak i nikako mi nece da prihvati odgovor kao tocan... i onda ja pogledam za koje x-eve ne radi....Provjera zad: 4 (netočno za input: '37.4951 -64.141 -14.8192 11.1707 31.9025 23.3064 -67.5214 -77.1163 77.5395')..... gledam ja u debuggeru i sve ide po planu osim što neke brojeve bez potrebe piše sa devetkama npr. -77.1163 piše kao -77.11629999999999999 i sve ide u redu dok ne učitam 77.5395 i onda mi neće da prebaci u max (neznam zašto ??) a trebalo bi jer je u tom trenutku bila max=-77.1163 tj. negova apsolutna vrijednost... Zahvaljujem unaprijed Confused



_________________
Kake-Bake
[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: 20:46 ned, 12. 12. 2010    Naslov: Citirajte i odgovorite

Kad se koriste "tudje" funkcije, treba znati kako su deklarirane. Konkretno:
[tt][color=red]int[/color] abs([color=red]int[/color] j);[/tt]
Kad se koriste "tudje" funkcije, treba znati kako su deklarirane. Konkretno:
int abs(int j);



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


Pridružen/a: 07. 07. 2009. (21:14:20)
Postovi: (22)16
Sarma = la pohva - posuda
= 6 - 0

PostPostano: 22:02 sub, 8. 1. 2011    Naslov: Citirajte i odgovorite

Jeli mi netko moze ukazati na pogresku, ja je ne mogu pronaci.
Tekst zadatka ide ovako :
Napišite program koji učitava 8 cijelih brojeva, te ispisuje svakog koji je djeljiv s prethodno upisanim (prvi se nikad ne ispisuje).
Ispisane brojeve odvojite razmacima (program ih smijete ispisivati i za vrijeme učitavanja), a ako traženih brojeva nema, program ne smije ništa ispisati.



#include<stdio.h>
main()
{
int i,x[7],t,j=0;
for(i=0;i<8;i++)
{
scanf("%d",&x[i]);
}
for(i=1;i<8;i++)
{ if(x[(i-1)]!=0)
{if(x[i]%x[(i-1)]==0) printf("%d ",x[i]);
}
}
return 0;
}
Jeli mi netko moze ukazati na pogresku, ja je ne mogu pronaci.
Tekst zadatka ide ovako :
Napišite program koji učitava 8 cijelih brojeva, te ispisuje svakog koji je djeljiv s prethodno upisanim (prvi se nikad ne ispisuje).
Ispisane brojeve odvojite razmacima (program ih smijete ispisivati i za vrijeme učitavanja), a ako traženih brojeva nema, program ne smije ništa ispisati.



#include<stdio.h>
main()
{
int i,x[7],t,j=0;
for(i=0;i<8;i++)
{
scanf("%d",&x[i]);
}
for(i=1;i<8;i++)
{ if(x[(i-1)]!=0)
{if(x[i]%x[(i-1)]==0) printf("%d ",x[i]);
}
}
return 0;
}


[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: 23:54 sub, 8. 1. 2011    Naslov: Citirajte i odgovorite

mislim da ti fale razmaci pri ispisu brojeva.
mislim da ti fale razmaci pri ispisu brojeva.


[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: 1:37 ned, 9. 1. 2011    Naslov: Citirajte i odgovorite

Ako vec (nepotrebno) koristis nizove, treba ih ispravno deklarirati. Ucitava se 8 brojeva, a ne 7, zar ne?

Za ubuduce, vidi mi sig.
Ako vec (nepotrebno) koristis nizove, treba ih ispravno deklarirati. Ucitava se 8 brojeva, a ne 7, zar ne?

Za ubuduce, vidi mi sig.



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


Pridružen/a: 07. 07. 2009. (21:14:20)
Postovi: (22)16
Sarma = la pohva - posuda
= 6 - 0

PostPostano: 1:47 ned, 9. 1. 2011    Naslov: Citirajte i odgovorite

Aha, kuzim. Hvala puno

edit : poslao sam rjesenje, i jos uvijek mi kaze da je netocno. jesam li mozda krivo shvatio zadatak?
Aha, kuzim. Hvala puno

edit : poslao sam rjesenje, i jos uvijek mi kaze da je netocno. jesam li mozda krivo shvatio zadatak?


[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 4 / 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