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

program (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
zrinka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 27. 06. 2006. (20:33:54)
Postovi: (7F)16
Spol: žensko
Sarma = la pohva - posuda
-73 = 10 - 83
Lokacija: Grad Zagreb

PostPostano: 21:24 pon, 17. 7. 2006    Naslov: program Citirajte i odgovorite

Ako bi mi netko mogao objasniti što radi sljedeći program (naredbu po naredbu):

#include <stdio.h>
int main ()
{
int polazni_broj, baza, broj_znamenki, znamenke [8*sizeof(int)];
int temp, i;
while (1)
{
printf ("Unesite broj (<=0 za kraj): ");
if (polazni_broj<=0) break;
printf ("Unesite bazu: "); scanf ("%d", &baza);
if (baza<2)
{
printf ("Baza mora biti veća od 1!\n");
continue;
}
broj_znamenki=0; temp=polazni_broj;
while (temp)
{
znamenke[broj_znamenki++]=temp%baza;
temp/=baza;
}
printf ("Broj %d u bazi %d: ", polazni_broj, baza);
for (i=broj_znamenki-1; i>=0; i--)
printf ("%c",
znamenke[i]>=10?`A`+znamenke[i]-10:`0`+znamenke[i]);
printf ("\n\n");
}
return 0; ?

:roll: :?:
Ako bi mi netko mogao objasniti što radi sljedeći program (naredbu po naredbu):

#include <stdio.h>
int main ()
{
int polazni_broj, baza, broj_znamenki, znamenke [8*sizeof(int)];
int temp, i;
while (1)
{
printf ("Unesite broj (⇐0 za kraj): ");
if (polazni_broj⇐0) break;
printf ("Unesite bazu: "); scanf ("%d", &baza);
if (baza<2)
{
printf ("Baza mora biti veća od 1!\n");
continue;
}
broj_znamenki=0; temp=polazni_broj;
while (temp)
{
znamenke[broj_znamenki++]=temp%baza;
temp/=baza;
}
printf ("Broj %d u bazi %d: ", polazni_broj, baza);
for (i=broj_znamenki-1; i>=0; i–)
printf ("%c",
znamenke[i]>=10?`A`+znamenke[i]-10:`0`+znamenke[i]);
printf ("\n\n");
}
return 0; ?

Rolling Eyes Question



_________________
ZRINKA
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
sorrow
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 08. 11. 2005. (23:01:29)
Postovi: (24D)16
Spol: muško
Sarma = la pohva - posuda
= 75 - 69
Lokacija: ...na otoku srece...

PostPostano: 0:15 uto, 18. 7. 2006    Naslov: Citirajte i odgovorite

wow, ti bas volis postavljat pitanja,ali eto, da se i ja malo ucinen pametan na forumu... ;)

valjda prva dva reda znas, to bi bilo glupo objasnjavat...
sljedeci redovi su ti deklaracije varijabli... tu ti jedina nepoznanica moze bit onaj dio [code:1]znamenke [8*sizeof(int)][/code:1] to ti je niz intova koji se zove znamenke a ima clanova 8* velicina int-a...

petlja [code:1]while(1)[/code:1]se prakticno izvrsava sve dok se u njoj ne pojavi break... znaci da pocnes sa [code:1] printf ("Unesite broj (<=0 za kraj): ");
if (polazni_broj<=0) break; [/code:1] sta kaze da uneses taj i taj broj i da ako je manji ili jednak nuli da prekines petjlu... ps. fali ti scanf naredba, moras ipak ucitat taj broj... ;)
[code:1] printf ("Unesite bazu: "); scanf ("%d", &baza); [/code:1]eto vidis kako si tu lipo stavila scanf... :lol:
[code:1] if (baza<2)
{
printf ("Baza mora biti veća od 1!\n");
continue;
} [/code:1]
to ti je if naredba koja izvrsava blok naredbi koji je njen ako se ispuni uvjet, znaci, ako je baza manja od dva ucine se ono sta vec pise... ;) ps. mozda bi ti i tu tribalo bit break... ;) :lol:
[code:1] broj_znamenki=0; temp=polazni_broj; [/code:1]obicno pridruzivanje vrijednosti... ;)
[code:1] while (temp) [/code:1] ova linija ti kaze da ce se while petlja izvrsavat dok god je temp razlicit od nule... ;)
[code:1] {
znamenke[broj_znamenki++]=temp%baza;
temp/=baza;
} [/code:1]a ovaj dio ide ovako, prvo prvoj znamenci pridruziz broj koji je ostatak pri djeljenju temp-a sa bazon... a onda temp podjelis sa ton iston bazon... tako dobijes znamenke... wooow... :lol:

auf, vec mi dosadilo, znas, ovo su ti jako osnovni programi, ovo bi definitivno tribala znat ako si imalo proucila vjezbe i predavanja... ;)

u nastavku cu ti jos samo ovo objasnit...
[code:1] printf ("%c",
znamenke[i]>=10?`A`+znamenke[i]-10:`0`+znamenke[i]); [/code:1]

on kaze da ce se isprintat char, oce rec znak, i to takav da ako je i-ta znamenka veca ili jednaka 10 ispisat ce se znak koji je po ascii kodu smjesten na (znamenke[i] minus deseton) mistu nakon znaka A, a u suprotnon ce se ispisat znak koji je po ascii kodu smjesten na (znamenke[i]-ton) mistu nakon znaka 0...

auf, napokon gotovo... ;)
wow, ti bas volis postavljat pitanja,ali eto, da se i ja malo ucinen pametan na forumu... Wink

valjda prva dva reda znas, to bi bilo glupo objasnjavat...
sljedeci redovi su ti deklaracije varijabli... tu ti jedina nepoznanica moze bit onaj dio
Kod:
znamenke [8*sizeof(int)]
to ti je niz intova koji se zove znamenke a ima clanova 8* velicina int-a...

petlja
Kod:
while(1)
se prakticno izvrsava sve dok se u njoj ne pojavi break... znaci da pocnes sa
Kod:
 printf ("Unesite broj (<=0 za kraj): ");
if (polazni_broj<=0) break;
sta kaze da uneses taj i taj broj i da ako je manji ili jednak nuli da prekines petjlu... ps. fali ti scanf naredba, moras ipak ucitat taj broj... Wink
Kod:
 printf ("Unesite bazu: "); scanf ("%d", &baza);
eto vidis kako si tu lipo stavila scanf... Laughing
Kod:
 if (baza<2)
{
printf ("Baza mora biti veća od 1!\n");
continue;
}

to ti je if naredba koja izvrsava blok naredbi koji je njen ako se ispuni uvjet, znaci, ako je baza manja od dva ucine se ono sta vec pise... Wink ps. mozda bi ti i tu tribalo bit break... Wink Laughing
Kod:
 broj_znamenki=0; temp=polazni_broj;
obicno pridruzivanje vrijednosti... Wink
Kod:
 while (temp)
ova linija ti kaze da ce se while petlja izvrsavat dok god je temp razlicit od nule... Wink
Kod:
 {
znamenke[broj_znamenki++]=temp%baza;
temp/=baza;
}
a ovaj dio ide ovako, prvo prvoj znamenci pridruziz broj koji je ostatak pri djeljenju temp-a sa bazon... a onda temp podjelis sa ton iston bazon... tako dobijes znamenke... wooow... Laughing

auf, vec mi dosadilo, znas, ovo su ti jako osnovni programi, ovo bi definitivno tribala znat ako si imalo proucila vjezbe i predavanja... Wink

u nastavku cu ti jos samo ovo objasnit...
Kod:
 printf ("%c",
znamenke[i]>=10?`A`+znamenke[i]-10:`0`+znamenke[i]);


on kaze da ce se isprintat char, oce rec znak, i to takav da ako je i-ta znamenka veca ili jednaka 10 ispisat ce se znak koji je po ascii kodu smjesten na (znamenke[i] minus deseton) mistu nakon znaka A, a u suprotnon ce se ispisat znak koji je po ascii kodu smjesten na (znamenke[i]-ton) mistu nakon znaka 0...

auf, napokon gotovo... Wink



_________________


Hangman is comin' down from the gallows and I don't have very long
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
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