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

Zad 7.4. - skripta (zadatak)
WWW:

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
13_mac
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 23. 10. 2006. (22:56:13)
Postovi: (D4)16
Spol: muško
Sarma = la pohva - posuda
= 15 - 12

PostPostano: 19:21 sri, 19. 12. 2007    Naslov: Zad 7.4. - skripta Citirajte i odgovorite

Malo mi je djelovao [i]kompliciranije[/i], heh...
Al evo pokusaja, molim da me ispravite ako mi je sta krivo!!

#include<stdio.h>
int main(void){
int a, b, c;
scanf("%d %d %d", &a, &b, &c);

if((a == 0 || a == 1) && (b == 0 || b == 1) && (c == 0 || c == 1)){
if(a && b || a && c || b && c)
printf("Izraz ab + ac + bc je istinit.\n");
else
printf("Izraz ab + ac + bc je lazan.\n");}
else
printf("Javila se greska:a, b, c nisu dobro definirani.\n");

scanf("%%");

return 0;
}


p.s. Ili nabacite koji komentar da li se moze skratiti program, a da i dalje ostane u funkciji. Malcice mi se cini da sam tu zakomplicirao malo sa if-ovima & else.... Hm... :jutro:
Malo mi je djelovao kompliciranije, heh...
Al evo pokusaja, molim da me ispravite ako mi je sta krivo!!

#include<stdio.h>
int main(void){
int a, b, c;
scanf("%d %d %d", &a, &b, &c);

if((a == 0 || a == 1) && (b == 0 || b == 1) && (c == 0 || c == 1)){
if(a && b || a && c || b && c)
printf("Izraz ab + ac + bc je istinit.\n");
else
printf("Izraz ab + ac + bc je lazan.\n");}
else
printf("Javila se greska:a, b, c nisu dobro definirani.\n");

scanf("%%");

return 0;
}


p.s. Ili nabacite koji komentar da li se moze skratiti program, a da i dalje ostane u funkciji. Malcice mi se cini da sam tu zakomplicirao malo sa if-ovima & else.... Hm... Tesko je biti budan...



_________________
Đante tanda fandiga?
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Masiela
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2007. (22:28:01)
Postovi: (338)16
Spol: žensko
Sarma = la pohva - posuda
74 = 97 - 23
Lokacija: Među bananama

PostPostano: 20:02 sri, 19. 12. 2007    Naslov: Citirajte i odgovorite

Kad smo već kod tog zadatka, evo i moja verzija...

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

int main (void) {

int a, b, c;
printf ("Unesite tri cijela broja.\n");
scanf ("%d %d %d", &a, &b, &c);
if ((a==0 || a==1)&&(b==0 || b==1)&&(c==0 || c==1)) {
if (((a&&b) || (b&&c) || (a&&c))==1)
printf ("Izraz je istinit");
}
else
printf ("Izraz nije istinit");
scanf("%d%d");
return 0;
}[/code:1]
Isto 2 if-a, ali ja nemam taj drugi else koji mi nije ni pao na pamet kao mogućnost.

EDIT: Sad kad gledam, pari mi se da sam rano zatvorila vitičastu zagradu. Čini mi se da bi trebalo iza onog printfa da izraz nije istinit ko što si ti napravio jer će moj ispisati da izraz nije istinit i kad ne učitaš nule i jedinice, a tad bi bilo zgodnije da ispisuje da se radi o pogrešnom unosu (a sad vidim da se to i traži u zadatku :D).
Kad smo već kod tog zadatka, evo i moja verzija...

Kod:
#include <stdio.h>

int main (void) {

int a, b, c;
printf ("Unesite tri cijela broja.\n");
scanf ("%d %d %d", &a, &b, &c);
if ((a==0 || a==1)&&(b==0 || b==1)&&(c==0 || c==1)) {
   if (((a&&b) || (b&&c) || (a&&c))==1)
       printf ("Izraz je istinit");
   }
else
   printf ("Izraz nije istinit");
scanf("%d%d");
return 0;
}

Isto 2 if-a, ali ja nemam taj drugi else koji mi nije ni pao na pamet kao mogućnost.

EDIT: Sad kad gledam, pari mi se da sam rano zatvorila vitičastu zagradu. Čini mi se da bi trebalo iza onog printfa da izraz nije istinit ko što si ti napravio jer će moj ispisati da izraz nije istinit i kad ne učitaš nule i jedinice, a tad bi bilo zgodnije da ispisuje da se radi o pogrešnom unosu (a sad vidim da se to i traži u zadatku Very Happy).



_________________
mladac: e.k.s. je možda 8%, moje znanje ni toliko Sad
[Vrh]
Korisnički profil Pošaljite privatnu poruku
13_mac
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 23. 10. 2006. (22:56:13)
Postovi: (D4)16
Spol: muško
Sarma = la pohva - posuda
= 15 - 12

PostPostano: 20:55 sri, 19. 12. 2007    Naslov: Citirajte i odgovorite

Tako je! Sama si si odgovorila. :wink:
Drugi else je radi onog dijela teksta zadatka:"...([b]potrebno je provjeriti da li je dobro upisano i, ako nije, prijaviti gresku[/b])..."
Jer se drugi if izvrsava ako je pocetni if istinit, a drugi else - to je else od prvog if-a. :)
Ovo djeluje malo zbunjeno sta sam napisao al ja mislim da si ti to i sama shvatila. 8)
gl
Tako je! Sama si si odgovorila. Wink
Drugi else je radi onog dijela teksta zadatka:"...(potrebno je provjeriti da li je dobro upisano i, ako nije, prijaviti gresku)..."
Jer se drugi if izvrsava ako je pocetni if istinit, a drugi else - to je else od prvog if-a. Smile
Ovo djeluje malo zbunjeno sta sam napisao al ja mislim da si ti to i sama shvatila. Cool
gl



_________________
Đante tanda fandiga?
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Masiela
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2007. (22:28:01)
Postovi: (338)16
Spol: žensko
Sarma = la pohva - posuda
74 = 97 - 23
Lokacija: Među bananama

PostPostano: 21:31 sri, 19. 12. 2007    Naslov: Citirajte i odgovorite

Jesam :misici:

Hvala ;)
Jesam Kako sam snazan!

Hvala Wink



_________________
mladac: e.k.s. je možda 8%, moje znanje ni toliko Sad
[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:05 čet, 20. 12. 2007    Naslov: Citirajte i odgovorite

Izraz [tt]a && b || a && c || b && c[/tt] se moze skratiti (logika sudova, remember?). ;)

@13_mac: please, kodove pakiraju u [tt][co[i][/i]de]...[/code][/tt]. :)

@Masiela: ne treba ti [tt]==1[/tt], a program nece nista ispisati ako je unos dobar, ali je izraz lazan (npr za a=b=c=0). :? I cemu [tt]scanf("%d%d");[/tt]? :-k To ucitava dva [tt]int[/tt]-a, a ne das mu varijable u koje ih treba spremiti, sto - cini mi se - moze izazvati cudne posljedice. :|
Izraz a && b || a && c || b && c se moze skratiti (logika sudova, remember?). Wink

@13_mac: please, kodove pakiraju u [code]...[/code]. Smile

@Masiela: ne treba ti ==1, a program nece nista ispisati ako je unos dobar, ali je izraz lazan (npr za a=b=c=0). Confused I cemu scanf("%d%d");? Think To ucitava dva int-a, a ne das mu varijable u koje ih treba spremiti, sto - cini mi se - moze izazvati cudne posljedice. Neutral



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


Pridružen/a: 23. 10. 2006. (22:56:13)
Postovi: (D4)16
Spol: muško
Sarma = la pohva - posuda
= 15 - 12

PostPostano: 14:59 čet, 20. 12. 2007    Naslov: Citirajte i odgovorite

Nije mi jasno kako se moze a*b + b*c +a*c skratiti drugacije nego da npr. uzmem prva dva, tj. b*(a+c) + a*c ali mi to bas i ne pomaze u rjesavanju zadatka [i]programski[/i]..... Ili se varam? :oops:

p.s.[color=red]k[/color][color=orange]o[/color][color=yellow]d[/color] primljen na znanje :wink:
Nije mi jasno kako se moze a*b + b*c +a*c skratiti drugacije nego da npr. uzmem prva dva, tj. b*(a+c) + a*c ali mi to bas i ne pomaze u rjesavanju zadatka programski..... Ili se varam? Embarassed

p.s.kod primljen na znanje Wink



_________________
Đante tanda fandiga?
[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: 15:14 čet, 20. 12. 2007    Naslov: Citirajte i odgovorite

Pitao si za skracivanje, ne za [i]programsku[/i] pomoc. ;)
Pitao si za skracivanje, ne za programsku pomoc. Wink



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


Pridružen/a: 23. 10. 2006. (22:56:13)
Postovi: (D4)16
Spol: muško
Sarma = la pohva - posuda
= 15 - 12

PostPostano: 16:08 čet, 20. 12. 2007    Naslov: Citirajte i odgovorite

Mislio sam na skracivanje if-ova i else-ova... Da li ima ljepsi(ili ti kraci) zapis programa(normalno, u granicama gradiva koje radimo/smo radili dosad)... :?:
Mislio sam na skracivanje if-ova i else-ova... Da li ima ljepsi(ili ti kraci) zapis programa(normalno, u granicama gradiva koje radimo/smo radili dosad)... Question



_________________
Đante tanda fandiga?
[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: 16:19 čet, 20. 12. 2007    Naslov: Re: Zad 7.4. - skripta Citirajte i odgovorite

Skracivanje mozes postici uvjetnim operatorom i prebacivanjem "[tt]x==0[/tt]" u "[tt]!x[/tt]":

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

int main(void){
int a, b, c;
scanf("%d %d %d", &a, &b, &c);

if (!a || a == 1) && (!b || b == 1) && (!c || c == 1))
printf("Izraz ab + ac + bc %s istinit.\n", a && b || a && c || b && c ? "je" : "nije");
else
printf("Javila se greska:a, b, c nisu dobro definirani.\n");

return 0;
}[/code:1]

8)
Skracivanje mozes postici uvjetnim operatorom i prebacivanjem "x==0" u "!x":

Kod:
#include<stdio.h>

int main(void){
  int a, b, c;
  scanf("%d %d %d", &a, &b, &c);

  if (!a || a == 1) && (!b || b == 1) && (!c || c == 1))
    printf("Izraz ab + ac + bc %s istinit.\n", a && b || a && c || b && c ? "je" : "nije");
  else
    printf("Javila se greska:a, b, c nisu dobro definirani.\n");

  return 0;
}


Cool



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


Pridružen/a: 11. 09. 2007. (22:28:01)
Postovi: (338)16
Spol: žensko
Sarma = la pohva - posuda
74 = 97 - 23
Lokacija: Među bananama

PostPostano: 17:03 čet, 20. 12. 2007    Naslov: Citirajte i odgovorite

[quote="vsego"]@Masiela: ne treba ti [tt]==1[/tt], a program nece nista ispisati ako je unos dobar, ali je izraz lazan (npr za a=b=c=0). :? I cemu [tt]scanf("%d%d");[/tt]? :-k To ucitava dva [tt]int[/tt]-a, a ne das mu varijable u koje ih treba spremiti, sto - cini mi se - moze izazvati cudne posljedice. :|[/quote]
Ne znam gledaš li onaj kod sa ili bez onog edita. Nešto sam mijenjala. Uglavnom konačna verzija mi je:
[code:1]#include <stdio.h>

int main (void) {

int a, b, c;
printf ("Unesite tri cijela broja.\n");
scanf ("%d %d %d", &a, &b, &c);
if ((a==0 || a==1)&&(b==0 || b==1)&&(c==0 || c==1)) {
if (((a&&b) || (b&&c) || (a&&c))==1)
printf ("Izraz je istinit");
else
printf ("Izraz nije istinit");
}
else
printf ("Pogresan unos varijabli");
scanf("%%");
return 0;
}[/code:1]
Za unos 0, 0, 0 mi ispisuje [i]Izraz nije istinit[/i].

scanf("%d%d") je zabuna :( Nisam skužila :oops: Valjda sam mehanički natipkala jer se ranije pojavljuju %d-ovi. U zagradu ide samo "%%".

Hoće li se uzimati za zlo viškovi tipa taj moj ==1? Što mi još ne valja ili traži izmjenu? :angel:
(Samo da maknem ==1 i to je to što se tog reda tiče?)
vsego (napisa):
@Masiela: ne treba ti ==1, a program nece nista ispisati ako je unos dobar, ali je izraz lazan (npr za a=b=c=0). Confused I cemu scanf("%d%d");? Think To ucitava dva int-a, a ne das mu varijable u koje ih treba spremiti, sto - cini mi se - moze izazvati cudne posljedice. Neutral

Ne znam gledaš li onaj kod sa ili bez onog edita. Nešto sam mijenjala. Uglavnom konačna verzija mi je:
Kod:
#include <stdio.h>

int main (void) {

int a, b, c;
printf ("Unesite tri cijela broja.\n");
scanf ("%d %d %d", &a, &b, &c);
if ((a==0 || a==1)&&(b==0 || b==1)&&(c==0 || c==1)) {
   if (((a&&b) || (b&&c) || (a&&c))==1)
       printf ("Izraz je istinit");
   else
       printf ("Izraz nije istinit");
       }
else
   printf ("Pogresan unos varijabli");
scanf("%%");
return 0;
}

Za unos 0, 0, 0 mi ispisuje Izraz nije istinit.

scanf("%d%d") je zabuna Sad Nisam skužila Embarassed Valjda sam mehanički natipkala jer se ranije pojavljuju %d-ovi. U zagradu ide samo "%%".

Hoće li se uzimati za zlo viškovi tipa taj moj ==1? Što mi još ne valja ili traži izmjenu? Angel
(Samo da maknem ==1 i to je to što se tog reda tiče?)



_________________
mladac: e.k.s. je možda 8%, moje znanje ni toliko Sad
[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: 17:14 čet, 20. 12. 2007    Naslov: Citirajte i odgovorite

Nece se "uzeti za zlo"; trazimo da programi rade ono sto se trazi, u skladu sa standardnim (ANSI) C-om, te eventualno u gabaritima koji se traze (stajzanam, ako pise "koristite samo [tt]for()[/tt] petlje", onda ne prihvacamo [tt]while()[/tt], no takvi zahtjevi su rijetki). :)

Ne inzistiramo na skracivanju, optimalnosti i sl. :) To sto vas ja ucim i tome... i sami znate da naglasim kako je to "za one koji to zele znati, ali nije nuzno". ;)
Nece se "uzeti za zlo"; trazimo da programi rade ono sto se trazi, u skladu sa standardnim (ANSI) C-om, te eventualno u gabaritima koji se traze (stajzanam, ako pise "koristite samo for() petlje", onda ne prihvacamo while(), no takvi zahtjevi su rijetki). Smile

Ne inzistiramo na skracivanju, optimalnosti i sl. Smile To sto vas ja ucim i tome... i sami znate da naglasim kako je to "za one koji to zele znati, ali nije nuzno". Wink



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


Pridružen/a: 11. 09. 2007. (22:28:01)
Postovi: (338)16
Spol: žensko
Sarma = la pohva - posuda
74 = 97 - 23
Lokacija: Među bananama

PostPostano: 17:18 čet, 20. 12. 2007    Naslov: Citirajte i odgovorite

Ok :)

A u kakvom mi je stanju sadašnja verzija rješenja ovog zadatka?
Ok Smile

A u kakvom mi je stanju sadašnja verzija rješenja ovog zadatka?



_________________
mladac: e.k.s. je možda 8%, moje znanje ni toliko Sad
[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: 17:42 čet, 20. 12. 2007    Naslov: Citirajte i odgovorite

Pa, meni izgleda ispravno. :) Da sam uocio neku gresku, napisao bih to, ne? ;)
Pa, meni izgleda ispravno. Smile Da sam uocio neku gresku, napisao bih to, ne? Wink



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


Pridružen/a: 11. 09. 2007. (22:28:01)
Postovi: (338)16
Spol: žensko
Sarma = la pohva - posuda
74 = 97 - 23
Lokacija: Među bananama

PostPostano: 18:06 čet, 20. 12. 2007    Naslov: Citirajte i odgovorite

Ok :)

Hvala ;)
Ok Smile

Hvala Wink



_________________
mladac: e.k.s. je možda 8%, moje znanje ni toliko Sad
[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.
Stranica 1 / 1.

 
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