Programiranje

Programiranje u C-u - od svega pomalo

FiCoO pet 25.2.2011 20:02
rustweaver kaže...
FiCoO kaže...

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

IRebic pet 25.2.2011 20:11
FiCoO kaže...
IRebic kaže...

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???

mbaksa pet 25.2.2011 20:16
IRebic kaže...

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.

 

IRebic kaže...
napisao sam ovako :

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?

IRebic pet 25.2.2011 20:20
mbaksa kaže...
 

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

mbaksa pet 25.2.2011 20:32
IRebic kaže...
mbaksa kaže...
 

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>

 

Zvjerkan pet 25.2.2011 22:52

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

mbaksa pet 25.2.2011 22:57
Zvjerkan kaže...
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 

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.

mbaksa pet 25.2.2011 23:27
Zvjerkan kaže...

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.

Zvjerkan pet 25.2.2011 23:38
1domagoj1 kaže...

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;

}

mbaksa pet 25.2.2011 23:43
Zvjerkan kaže...
  rez=1;

  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;

}

Zvjerkan pet 25.2.2011 23:44
mbaksa kaže...
Zvjerkan kaže...
  rez=1;

  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 

Private pet 25.2.2011 23:48

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 :)

 

mbaksa pet 25.2.2011 23:51
Zvjerkan kaže...

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 {...}.

 

Private kaže...

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. {#}

Zvjerkan pet 25.2.2011 23:52
mbaksa kaže...
Zvjerkan kaže...

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 {...}.

 

Private kaže...

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... 

mbaksa sub 26.2.2011 00:01
Private kaže...

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:

Private kaže...

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;

}

Private sub 26.2.2011 00:04

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 {#}

 

mbaksa sub 26.2.2011 00:06
Zvjerkan kaže...

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

mbaksa sub 26.2.2011 00:09
Zvjerkan kaže...
mbaksa jesi vidio sad što piše u onom što nam je ona napisala i dala...

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?

Zvjerkan sub 26.2.2011 00:10
mbaksa kaže...
Zvjerkan kaže...
mbaksa jesi vidio sad što piše u onom što nam je ona napisala i dala...

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

mbaksa sub 26.2.2011 00:15
Zvjerkan kaže...
mbaksa kaže...
Zvjerkan kaže...
mbaksa jesi vidio sad što piše u onom što nam je ona napisala i dala...

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. {#}

FiCoO ned 27.2.2011 22:13

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;
}