Ali na zalost nece...
Pogledaj sto si s navodnicima napravio.
Zar ne bi trebao zatvoriti navodnike prije zareza?
printf("Brojevi manji od k su %d\n", niz[i]);
Ali na zalost nece...
Pogledaj sto si s navodnicima napravio.
Zar ne bi trebao zatvoriti navodnike prije zareza?
printf("Brojevi manji od k su %d\n", niz[i]);
Funkcija printf prima ergumente, niz znakova i varijable, ti si joj predao samo znakovni niz u kojem si postavio format varijable koja se treba, pri ispisu, zamijeniti sa tom varijablom.
Kao što je @rustweaver napisao.
Ali na zalost nece...
Pogledaj sto si s navodnicima napravio.
Zar ne bi trebao zatvoriti navodnike prije zareza?
printf("Brojevi manji od k su %d\n", niz[i]);
Ok. tu je greska. Hvala.
za BenjamiX
main()
{
int broj;
char znak[5];
int i;
int zbroj=0;
int pom1;
scanf("unesi petero znamenkasti broj: %d",&broj);
for(i=0;i<5;i++)
{
printf("unesi %d. znak...",i+1);
scanf("%c",&znak[i]);
}
//provjera znaka
for(i=0;i<5;i++)
{
if(znak[i]=='D')
{
if(i==0)
{ pom1=broj;
pom1=broj/10000;
zbroj=zbroj+pom1;
}
if(i==1)
{ pom1=broj;
pom1=broj/1000;
pom1=pom1%10;
zbroj=zbroj+pom1;
}
if(i==2)
{ pom1=broj;
pom1=broj/100;
pom1=pom1%10;
zbroj=zbroj+pom1;
}
if(i==3)
{ pom1=broj;
pom1=broj/10;
pom1=pom1%10;
zbroj=zbroj+pom1;
}
if(i==4)
{ pom1=broj;
pom1=pom1%10;
zbroj=zbroj+pom1;
}
}
}
printf("Zbroj je: %d/n",zbroj);
retorn 0;
}mislim da je to to nisam proba pokretat nabrzinu sam napisa u notepadu :D
...mislim da je to to nisam proba pokretat nabrzinu sam napisa u notepadu :D
Ni ja to nisam probao pokrenuti i samo čitam na forumu i iz toga mogu reći da uopće ne znaš programirati.
//provjera znaka
for(i=0;i<5;i++)mislim da je to to nisam proba pokretat nabrzinu sam napisa u notepadu :D
Za to ti nije trebala posebna petlja, mogao si sve obaviti u onoj prvoj.
if(i==0)
...
if(i==1)
...
if(i==2)
Za ovakve slučajeve su izmislili grananje switch.
{ pom1=broj;
pom1=broj/10000;
...
{ pom1=broj;
pom1=broj/1000;
pom1=pom1%10;
...
{ pom1=broj;
pom1=broj/100;
pom1=pom1%10;
...
Shvaćaš li da sve ovo što je označeno žutim markerom kao i da nije napisano? U varijablu pom1 spremaš varijablu broj i rezultat operacije dijeljenja, što na kraju prebrišeš rezultatom operacije modulo.
zbroj=zbroj+pom1;
Jesi čuo za operator za uvećavanje (increment addition)?
zbroj+=pom1;
Jesi siguran da se operator '+=' zove increment operator?
Jesi siguran da se operator '+=' zove increment operator?
OK, inkrementom se u pravilu smatra ++, += je addition ("dodavanje"). U osnovi se radi o operatorima koji vrše istu stvar, samo što ++ uvećava za 1, a += uvećava za vrijednost drugog operanda. Nije mi se dalo ići tražiti kako točno se naziva operator +=, samo sam htio objasniti da služi za uvećavanje varijable, a to je upravo ono što je karaandrijan radio pa bi shodno tome trebao koristiti odgovarajući operator.
Aha. Ma pitam samo, nisam ni ja znao kako se *tocno* zove.
Aha. Ma pitam samo, nisam ni ja znao kako se *tocno* zove.
Ovdje ih imaš, barem na engleskom jeziku: http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B
...mislim da je to to nisam proba pokretat nabrzinu sam napisa u notepadu :D
Ni ja to nisam probao pokrenuti i samo čitam na forumu i iz toga mogu reći da uopće ne znaš programirati.
//provjera znaka
for(i=0;i<5;i++)mislim da je to to nisam proba pokretat nabrzinu sam napisa u notepadu :D
Za to ti nije trebala posebna petlja, mogao si sve obaviti u onoj prvoj.
if(i==0)
...
if(i==1)
...
if(i==2)
Za ovakve slučajeve su izmislili grananje switch.
{ pom1=broj;
pom1=broj/10000;
...
{ pom1=broj;
pom1=broj/1000;
pom1=pom1%10;
...
{ pom1=broj;
pom1=broj/100;
pom1=pom1%10;
...
Shvaćaš li da sve ovo što je označeno žutim markerom kao i da nije napisano? U varijablu pom1 spremaš varijablu broj i rezultat operacije dijeljenja, što na kraju prebrišeš rezultatom operacije modulo.
zbroj=zbroj+pom1;
Jesi čuo za operator za uvećavanje (increment addition)?
zbroj+=pom1;
znam ja sve to nego sam namjerno rastegno sve da covjek vidi zasto je to tako!!
a switch case nevolim koristit nekako mi je lakse sa ifovim i ono sto si pozutio treba onako, moze se samo jedan red skratit kod dijeljenja stavit sve zajedno sa modulom
a pom1=broj sluzi zato da u svakom ifu koistim istu pom1 varijablu pa je ponovo postavm da je jednaka varijabli broj!!
jedino nism siguran za unos znakova nisam ima 5 godina unosio charove
Kako to misliš da čovjek vidi zašto je to tako? Svjestan si da kad bi sve imao u jednoj petlji, da ti onda ni ne treba polje znak? Nego bi umjesto toga imao varijablu tipa char?
Po kojoj logici? Naredba switch je napravljena upravo radi slučajeva kao u tvom slučaju.
U svakom uvjetu sve je moglo u jedan red.
Ovo ti je besmislica. Pazi svoj kod:
pom1=broj;
pom1=broj/1000;
pom1=pom1%10;
zbroj=zbroj+pom1;
Koja vrijednost ti ostaje u varijabli pom1 nakon toga? broj/1000%10; Prva linija (pom1=broj) ne služi apsolutno ničemu! Nemoj mi reći da to ne razumiješ!
Osim toga, sve je moglo biti napisano bez ikakve pomoćne varijable:
zbroj += (broj / 1000) % 10;
pom1=broj/1000; tu mi je greska nisam tako mislio, mislio sam ovako pom1=pom1/1000; ali iziđe na isto
a u pravu si da je moglo kraće !!
ja sam reka za mene osobno je lakse sa ifovim :D
pom1=broj/1000; tu mi je greska nisam tako mislio, mislio sam ovako pom1=pom1/1000; ali iziđe na isto
a u pravu si da je moglo kraće !!
ja sam reka za mene osobno je lakse sa ifovim :D
Ovo je program s tvojim algoritmom, ali (relativno) propisno napisan. Usporedi to sa svojim programom.
int main()
{
int broj;
char znak;
int i;
int zbroj=0;
scanf("unesi petero znamenkasti broj: %d",&broj);
for(i=0;i<5;i++)
{
printf("unesi %d. znak...",i+1);
scanf("%c",&znak);
if (znak == 'D') {
switch(i)
{
case 0: zbroj += broj/10000; break;
case 1: zbroj += broj/1000 % 10; break;
case 2: zbroj += broj/100 % 10; break;
case 3: zbroj += broj/10 % 10; break;
case 4: zbroj += broj % 10; break;
}
}
}
printf("Zbroj je: %d/n",zbroj);
return 0;
}
sta imam uspoređivat kraće za napisat ali u biti isti!!!!! Ma ja mislim da je najbitnije da je algoritam dobar :D
sta imam uspoređivat kraće za napisat ali u biti isti!!!!! Ma ja mislim da je najbitnije da je algoritam dobar :D
Tvoj program ne zadovoljava nekakve "tehničke minimume", da se tako izrazimo. U tome je problem. A kad mi napišeš:
pom1=broj;
pom1=broj/10000;
S time si mi sve rekao. S time si mi rekao da ne razumiješ koncept varijabli, da ne razumiješ što ti koja naredba u programu radi. Drugim riječima, da ne razumiješ osnove osnova programiranja.
jesam reka da da sam pisa za 2 min i to u notepadu copy paste tehnikom tako sam i pogrijesio umjesto tog tvog famoznog pom1=broj/10000 ili sta vec trebalo je pisat pom1=pom1/10000 a ti se sveza toga ko pijan plota ali eto te tamo bitno je da je coviku zadatak rijesen !!!
jesam reka da da sam pisa za 2 min i to u notepadu copy paste tehnikom tako sam i pogrijesio umjesto tog tvog famoznog pom1=broj/10000 ili sta vec trebalo je pisat pom1=pom1/10000 a ti se sveza toga ko pijan plota ali eto te tamo bitno je da je coviku zadatak rijesen !!!
Ma toliko me to šokiralo da stalno zaboravljam da si reuseao pomoćnu varijablu više puta. Uglavnom, preporučam ti da se odvikneš od takvog načina kodiranja iz niza razloga - više nepotrebnih instrukcija znači sporiji program (doduše, nije nužno da ćeš to primijetiti), nepregledno je i podložno pogreškama (upravo to što se tebi dogodilo).
Također, funkciju main uvijek stavljaj kao int main, tim više što na kraju programa imaš return 0.
mislim da ti ovi & & netrebaju i trebali bi ti najhl i najtop varijable biti varijable tipa float!!
Ne moze bez toga, msm da mora ici &, i da je int tip...
mislim da neidu u printf nego da idu u scanf & ali eto te tamo !!kako ces sa integerom ispitat koja je temp veca 22.3 ili 22.4 stupnja plus ti je u strukturi temperatura tipa float???
Jesi li ti taj kod probao prevesti u compileru? Je li ti sve proslo bez errora?
Usto funkciji printf trebas proslijediti vrijednost varijable, a ne adresu, dakle bez & znaka. Usto najhl i najtop ti trebaju biti float zato sto ti je varijabla t u structuri tipa float. Zaboravio si includati stdio.h i ne trebaju one viticaste zagrade u koje si stavio structuru i int main.
Cvetić vidis sta covik kaže :D
#include <stdio.h>
#include <stdlib.h>
struct temperatura
{
char grad[20];
float t;
};
int main()
{
struct temperatura s[5];
int i;
for(i=0; i<5; i++)
{
scanf("%s", & s[i].grad);
scanf("%f", & s[i].t);
}
int top=0; int hl=0;
float najtop=s[0].t;
float najhl=s[0].t;
for(i=0; i<5; i++)
{
if(s[i].t<najhl)
{
najhl=s[i].t;
hl=i;
}
else
if(s[i].t>najtop)
{
najtop=s[i].t;
top=i;
}
}
printf("Najhladniji grad je %f\n", s[hl].grad);
printf("Najtopliji grad je %f\n", s[top].grad);
return 0;
}
printf("Najhladniji grad je %f\n", s[hl].grad);
printf("Najtopliji grad je %f\n", s[top].grad);
return 0;
}
Od kud ti je ovo palo na pamet da tražiš ispis char varijable, a za format stavljaš float varijablu.
De pročitaj malo teoriju za scanf i printf funkcije, pa ćeš onda skužiti i da ne stavljaš adresu kod upisa char niza, a naučit ćeš razlikovati i formate,
pročitaj malo teoriju umjesto što daviš glupostima da koristiš adresu varijable u printf funkciji.
Čitaj , umjesto što piliš tim stvarima:
pozdrav,
zanima me kako naparviti da se pozadina programa moze mjenjati,npr.naparvio sam nekakav program i sada zelim da bude nakakva pozadina samog programa i da se moze mijanjati(s tim da su pozadine,slike,vec zadane).
Takoder me zanima kako napraviti da je program preko cijelog ekrana,bez rubova.
Hvala na pomoci.
Pozadina kakvog programa? GUI programa? DirectX programa? Koji GUI framework koristiš?
Tranutno radim u Qt,medutim ako mi preporucas da koristim nesto sto bi mi bolje odgovaralo(aplikacija je samo za Windowse),mislim da nebi trebalo biti problema.
Tranutno radim u Qt,medutim ako mi preporucas da koristim nesto sto bi mi bolje odgovaralo(aplikacija je samo za Windowse),mislim da nebi trebalo biti problema.
Za fullscreen 2D i 3D grafiku na Windows platformi nemas sto dalje traziti od DirectX-a. Eventualno OpenGL ako ciljas na nekakvu portabilnost.
Pomoglo bi da stavis nekakvu sliku te svoje aplikacije, da bude jasnije sto zapravo pokusavas postici.
Projekt je vrlo jednostavan,koristim htpc i obozavam ga,jedina stvar koja mi nedostaje je nekakav "launcher",posto,uz mediu(xbmc) koristim i skype,browser,onlive(izvrsna stvar za povremene gamere,je da kadkad radi kadkad ne,ali ipak posluzi).Stoga sam odlucio napraviti takav "launcher".Sama aplikacija je vrlo jednostavana,ali me muci opcija da mogu mjenjati pozadinu i da se pali u "fullscreenu".Evo kako bi to izgledalo(nemojte ocjenjivati,jer je nabrzinu naparavljeno.)