
Programiranje u C-u - od svega pomalo


O Bože, pa valjda možeš zamoliti profesora da ti otvori učionicu, pa da skineš. Ili nekog frenda...

e, a kako to sad limitirat da bude 0-100(int)
covjece pa u onoj tvojoj temi vasi programi u c-u ima jedan koji je postao izvlacenje brojeva za loto...pogledaj tam
napisao sam ovako :
a=(rand()%100);
i svaki put ispadne da je a=41 kako to poravit???

e, a kako to sad limitirat da bude 0-100(int)
Od rezultata kojeg ti funkcija vrati tražiš ostatak od cjelobrojnog dijeljenja (iliti modulo - prouči: http://en.wikipedia.org/wiki/Modulo_operation) sa 101. C
U C-like jezicima operacija modulo se određuje operatorom %. Dakle:
int ograniceni_broj = slucajni_broj % 101;
Znači, ako napraviš tu operaciju, ograniceni_broj ti ima raspon od 0 do 100. Nema 101 zato što 101 % 101 == 0 (dakle, ako podijelis 101 sa 101 dobijes 1 i ostakak 0 - operacijom modulo dobivas taj ostatak). Dakle, ako tražiš raspon od 0 do 100, trebaš raditi broj % 101. Ako tražiš broj od 1 do 100, onda trebaš napraviti (broj % 100) + 1.
a=(rand()%100);
i svaki put ispadne da je a=41 kako to poravit???
Jesi prije prvog pozivanja funkcije rand napravio ovo:
srand( time(NULL) ); // ovo pozoveš prije prvog korištenja rand() funkcije?

Jesi prije prvog pozivanja funkcije rand napravio ovo:
srand( time(NULL) ); // ovo pozoveš prije prvog korištenja rand() funkcije?
kaže:
expected constructor, destructor, or type conversion before '(' token
expected `,' or `;' before '(' token

Jesi prije prvog pozivanja funkcije rand napravio ovo:
srand( time(NULL) ); // ovo pozoveš prije prvog korištenja rand() funkcije?
kaže:
expected constructor, destructor, or type conversion before '(' token
expected `,' or `;' before '(' token
Jesi includao biblioteke u kojima se nalaze te funkcije? Znači, biblioteku u kojoj se nalazi srand i biblioteku u kojoj se nalazi funkcija time? Već dok ti tako nešto kompajler napiše možeš si misliti ili da ta funkcija ne postoji (tj. ne postoji u trenutnom scopeu jer je nisi uključio/includeao) ili si pogrešno napisao naziv.
#include <stdio.h>
#include <time.h>

imam tupavi program:
apravite program koji će za unesene cijele brojeve a i x izračunati i ispisati a^x bez korištenja funkcije pow.
znam da treba u tom iskoristit for petlju, ali ostalo a-a nemam ideju
pa ako može pomoć kako napraviti ili barem smjernice

apravite program koji će za unesene cijele brojeve a i x izračunati i ispisati a^x bez korištenja funkcije pow.
znam da treba u tom iskoristit for petlju, ali ostalo a-a nemam ideju
Kako bi ti izračunao kvadrat? Jel je kvadrat množenje broja sa samim sobom? Znači, a*a? Ili a^2? Kako bi izračunao kub? Kub je a*a*a, zar ne? Iliti a^3? Vidiš vezu? Što je a^x? x-broj puta pomnožiš a.

to znam ... sam nisam tako gledo.. znači napravim da on tolko puta množi broj sa samim sobom koliko je unesena potencija.. tnx.. skonto.. :D

e neznam.... bogme sam se spetljo i neznam kak .. :D

e neznam.... bogme sam se spetljo i neznam kak .. :D
Početna vrijednost ti je a, zar ne? Recimo a=5, umnozak=a ispada da je inicijalno umnozak=5. I onda vrtiš petlju x-1 puta u kojoj množiš umnozak s a, dakle umnozak *= a. Sad... Što si se tu imao spetljati - ne znam.

a evo .. ovako sam
for (i=0; i<x; i++) rez=rez*a;
sam mi nije logično to pa ako može tko objasnit što svaki znak radi tu..
x je potencija, a broj koji treba potencirati

I kaj je tu nejasno? Imaš broj koji se x puta množi sa samim sobom. Samo se nadam da si rez inicijalizirao kao 1.

I kaj je tu nejasno? Imaš broj koji se x puta množi sa samim sobom. Samo se nadam da si rez inicijalizirao kao 1.
#include <stdio.h>
#include <math.h>
main()
{
float a;
int x, i, rez;
printf ("Unesi broj i potenciju: ");
scanf ("%f %d", &a, &x);
rez=1;
for (i=0; i<x; i++)
rez=rez*a;
{
printf ("\n Potencirani broj je: %d", rez);
}
return 0;
}

for (i=0; i<x; i++)
---- ČEMU OVAJ RAZMAK?
rez=rez*a;
{
printf ("\n Potencirani broj je: %d", rez);
}
Čemu razmak između for i onoga što se treba izvršavati u petlji? Sam sebe zbunjuješ. Također, čemu ti služe te vitičaste zagrade? Što će ti tu novi blok naredbi? Piši preglednije i stavljaj vertikalne razmake tamo gdje ima smisla.
#include <stdio.h>
#include <math.h>
main()
{
float a;
int x, i, rez;
printf ("Unesi broj i potenciju: ");
scanf ("%f %d", &a, &x);
rez=1;
for (i=0; i<x; i++)
rez=rez*a;
printf ("\n Potencirani broj je: %d", rez);
return 0;
}

for (i=0; i<x; i++)
---- ČEMU OVAJ RAZMAK?
rez=rez*a;
{
printf ("\n Potencirani broj je: %d", rez);
}
Čemu razmak između for i onoga što se treba izvršavati u petlji? Sam sebe zbunjuješ. Također, čemu ti služe te vitičaste zagrade? Što će ti tu novi blok naredbi? Piši preglednije i stavljaj vertikalne razmake tamo gdje ima smisla.
#include <stdio.h>
#include <math.h>
main()
{
float a;
int x, i, rez;
printf ("Unesi broj i potenciju: ");
scanf ("%f %d", &a, &x);
rez=1;
for (i=0; i<x; i++)
rez=rez*a;
printf ("\n Potencirani broj je: %d", rez);
return 0;
}
to s novim blokom naredbi sam učio tako u šk.. da tako treba za petlju e sad ona krava onda nezna :D

Mislio si ovako :
#include <iostream>
using namespace std;
int main()
{
int a, x;
int rez =1;
cout<<"Unesite a;<<endl;
cin>>a;
cout<<"Unesite x:<<endl;
cin>>b;
for(int i=0;i<x;i++)
rez=rez*a;
cout<<rez<<endl;
system("pause");
return 0;
}
Mogao sam i ljepše ali valjda se kuži :)

to s novim blokom naredbi sam učio tako u šk.. da tako treba za petlju e sad ona krava onda nezna :D
To sigurno nisi tak učio u školi. Prije će biti da si ti, po Indijanski rečeno, bik koji na satu sjedi na ušima i ima zatvorene oči.
Koji je oblik naredbe for?
for (initialization; condition; increase) statement;
Također, nedavno sam na jednoj temi to objašnjavao. statement je (jedna) naredba koja se izvršava u svakoj iteraciji petlje (dakle, u svakom prolazu petlje). Ako ti trebaš unutar petlje vrtjeti više naredbi, onda statement mijenjaš s blokom naredbi. Blok naredbi se zatvara u vitičaste zagrade {...}.
Mislio si ovako :
...Ajde se malo potrudi i indentiraj taj kod - i horizontalno i vertikalno, jer ovo izgleda grozno i dođe mi da posve obrišem tvoju poruku. I hoću ako ne popraviš, jer je ovakva kakva je antiedukativna.

Jaooo, pa nije ti to Python!
Blokovi naredbi se upotrebljavaju uglavnom kod petlji, if-else statementa i sl. Čemu novi blok zbog jednog printf-a? I stavi si int ispred maina.

to s novim blokom naredbi sam učio tako u šk.. da tako treba za petlju e sad ona krava onda nezna :D
To sigurno nisi tak učio u školi. Prije će biti da si ti, po Indijanski rečeno, bik koji na satu sjedi na ušima i ima zatvorene oči.
Koji je oblik naredbe for?
for (initialization; condition; increase) statement;
Također, nedavno sam na jednoj temi to objašnjavao. statement je (jedna) naredba koja se izvršava u svakoj iteraciji petlje (dakle, u svakom prolazu petlje). Ako ti trebaš unutar petlje vrtjeti više naredbi, onda statement mijenjaš s blokom naredbi. Blok naredbi se zatvara u vitičaste zagrade {...}.
Mislio si ovako :
...Ajde se malo potrudi i indentiraj taj kod - i horizontalno i vertikalno, jer ovo izgleda grozno i dođe mi da posve obrišem tvoju poruku. I hoću ako ne popraviš, jer je ovakva kakva je antiedukativna.
dat ču ti lik đe imam kao neke upute što i kako što nam je ona dala pa češ vidit
edit:
evo: http://rapidshare.com/files/428818659/C_va__no.doc
to smo mi dobili od prof da iz tgo učimo i imamo kao podsjetnik...

Mislio si ovako :
...
Mogao sam i ljepše ali valjda se kuži :)
Ljepše? Indentacija nije (samo) stvar ljepote, nego da vizualno hijerarhijski rasporediš naredbe. Znaš li ti što je hijejrarhija? Je li tvoj kod hijerarhijski organiziran? Ovo što si napisao je katastrofa. Pa sam programerski editor ti automatski uvlači kod! U čemu ti pišeš kod? SVE naredbe u tom programu su na ISTOJ hijerarhijsko razini, osim naredbe unutar for-petlje - ona je na hijerarhijski nižoj razini, pošto se ona izvršava UNUTAR petlje.
Ovo je ispravno identirano:
Mislio si ovako :
#include <iostream>
using namespace std;
int main()
{
int a, x, rez = 1;
cout << "Unesite a" << endl;
cin >> a;
cout << "Unesite x:" << endl;
cin >> b;
for(int i=0;i<x;i++)
rez=rez*a;
cout << rez << endl;
system("pause");
return 0;
}

float a;
int rez;
rez=rez*a;
hmmm?

Ma sve je to lijepo i krasno kod mene u editoru ali ovdje kad popravljam da mi što ljepše ispadne nekako krivo ide stoga tako i ispada .....normalno da znam i možemo to i uslikati ..sad se sjetih :)...ali ujutro ..stoga uređujte i brišite kako god zvjerkanu bude ljepše samo neka nauči tak divne zadatke

dat ču ti lik đe imam kao neke upute što i kako što nam je ona dala pa češ vidit
edit:
evo: http://rapidshare.com/files/428818659/C_va__no.doc
to smo mi dobili od prof da iz tgo učimo i imamo kao podsjetnik...
Pa koga ti muljaš? Što ti piše u tom .doc-u?
for (inicijalizacija; uvjet; promjena vrijednosti)
{
blok naredbi;
}
A što si ti napravio?
for (i=0; i<x; i++)
rez=rez*a;
{
printf ("\n Potencirani broj je: %d", rez);
}
Jel to ima veze jedno s drugim?
Također, ubuduće za dijeljenje datoteka s forumašima koristi neki od servisa preporučenih u ovoj temi: http://www.bug.hr/forum/topic/programiranje/dijeljenje-svojih-uradaka-drugima/65886.aspx

pa ne muljp, ovaj fajl što sam ovo radio sa, samo prepravio postojće koji je iz škole tako da.. ništ nisam radio skoro sam.. :D

Nije pitanje dal sam ja vidio (ne samo da sam vidio, nego sam copy&pejstao - zar ne prepoznaješ da je to iz tog .doc-a?), nego je pitanje dal si ti vidio.
Jesi li ti napisao naredbu po tome kako piše u tom .doc-u?

Nije pitanje dal sam ja vidio (ne samo da sam vidio, nego sam copy&pejstao - zar ne prepoznaješ da je to iz tog .doc-a?), nego je pitanje dal si ti vidio.
Jesi li ti napisao naredbu po tome kako piše u tom .doc-u?
jap, al gle, ovako je ona napisala na projekciji u prethodnom nekom zadatku ja samo prepiso, a sad prepravio :D

Nije pitanje dal sam ja vidio (ne samo da sam vidio, nego sam copy&pejstao - zar ne prepoznaješ da je to iz tog .doc-a?), nego je pitanje dal si ti vidio.
Jesi li ti napisao naredbu po tome kako piše u tom .doc-u?
jap, al gle, ovako je ona napisala na projekciji u prethodnom nekom zadatku ja samo prepiso, a sad prepravio :D
A da možda nije napisala liniju for pa vam onda rekla da iza for može ići jedna naredba bez zagrada, a ako ide više naredbi onda se pišu zagrade? Uglavnom, ne bih ulazio u to što je ona napisala i rekla, jer nisam bio tamo. Činjenica je da ti u dokumentu koji si poslao ispravno piše (iako nepotpuno) i da si radio po tom dokumentu, napravio bi dobro. Ali dobro - nadam se da si sad naučio kako se piše petlja for.

a jesam naučio... :D sam ova baš i nije strućna... :D

nabavio sam dev c++ i uglavnom instaliram ja to sve radi kako treba..namjestim c projekt i napisem program kliknem da kompajla i to sve napravi i onda kliknem da pokrene i pise da nisam kompajlo??!...moze pomoc oko toga :P
i evo da se ovaj program ak ima gresaka ispravi
#include <stdio.h>
int main()
{
float s,t,v,f,m,a;
char b[15];
printf("Izaberite što želite izračunati");
printf("Izbor: ");
scanf("%s", &b);
switch(b)
{
case "brzina": printf("Unesi duljinu puta u metrima: ");
scanf("%f", &s);
printf("Unesi vrijeme u sekundama: ");
scanf("%f", &t);
printf("Brzina iznosi: %.2f m/s", s/t);break;
case "put": printf("Unesi brzinu u m/s: ");
scanf("%f", &v);
printf("Unesi vrijeme u sekundama: ");
scanf("%f", &t);
printf("Duljina puta iznosi: %.2f m", v*t);break;
case "vrijeme": printf("Unesi duljinu puta u metrima: ");
scanf("%f", &s);
printf("Unesi brzinu u m/s: ");
scanf("%f", &v);
printf("Vrijeme iznosi: %.2f s", s/v);break;
case "akceleracija1": printf("Unesi brzinu u m/s: ");
scanf("%f", &v);
printf("Unesi vrijeme u sekundama: ");
scanf("%f", &t);
printf("Akceleracija iznosi: %.2f m/s2", v/t);break;
case "akceleracija2": printf("Unesi silu u njutnima: ");
scanf("%f", &f);
printf("Unesi masu u kilogramima; ");
scanf("%f", &m);
printf("Akceleracija iznosi %.2f m/s2", f/m);break;
case "sila": printf("Unesi akceleraciju u m/s2: ");
scanf("%f", &a);
printf("Unesi masu u kilogramima: ");
scanf("%f", &m);
printf("Sila iznosi %.2f N", a*m);break;
case "masa": printf("Unesi silu njutnima: ");
scanf("%f", &f);
printf("Unesi akceleraciju u m/s2: ");
scanf("%f", &a);
printf("Masa iznosi %.2f kg", f/a);break;
default: printf("\n Izabrali se pogrješan broj!");break;
}
return 0;
}
zato kaj nemam flat nego onaj web n walk usb stick od tmobile i nemam bas jos nesto puno mb...tako da...
DevCPP je 9 MB, ako ti je to previse, skini ga u skoli ili negdje drugdje ffs.
ma budem ga skinuo u skoli samo sto je kod nas informatika mislim fakat glupost...dodemo mi na blok sat i nis ne radimo..ja bi volio da ucimo programirat...web dizajn..bilo sta zanimljivo...al sta cu...takvu zelju imam samo ja i jedan frend takoder forumas
skinut cu na infici al nemam ju jos tjedan dva