Programiranje u C-u

poruka: 216
|
čitano: 64.791
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
neaktivan
offline
RE: Programiranje u C-u

Prilično je čuvena ova The C Programming Language koju je preporučio DRM, a ja raspolažem verzijama na hrvatskom i engleskom jeziku, pa ako je netko zainteresiran, neka se javi na PP i možda se nešto dogovorimo Namigiva

 

Pozdrav.

16 godina
neaktivan
offline
Programiranje u C-u

Dali mi možete pomoći s ovim programom, sta je krivo u njemu.

 

#include<stdio.h>
#include<conio.h>

int
main (void)
{
      int n, s, c, p;
    FILE *in;
    in = fopen ("broj.data", "r");
    s = 0;
    c = 0;
    while (fscanf (in, "%d", &n) != EOF)
    {
       s = s + n;
       c = c + 1;
    }
    fclose (in);
    printf ("U datoteci je %d brojeva", c);
    printf ("\nZbroj svih brojeva u datoteci je %d", s);
    p = s / c;
    printf ("\nProsjek svih brojeva je %f", p);

       getch();
     }

 

Kada sve napravim i pokrenem program windows mi izbaci ovo.

 

program.exe has encountered a problem and needs to close.  We are sorry for the inconvenience.

 

Hvala unaprijed

 
0 0 hvala 0
17 godina
protjeran
offline
RE: Programiranje u C-u

ovako sad napamet.. mogući problem je ako je datoteka prazna. Onda je c = 0 i tada

 

p = s/c

 

će biti diviosion by zero. Usto, bilo bi zgodno da provjeriš pokazivač in tj. da li si uopće uspio otvoriti datoteku.

16 godina
neaktivan
offline
RE: Programiranje u C-u

Ono zbog čega program ne radi je jer nema returna na kraju ;-)

Nakon getch() ubaci return 0; i stvar radi.

 

Par detalja :

Logično bi bilo da je p double, ne int. Čisto jer prosječna vrijednost prirodnih brojeva ne mora biti prirodni broj, npr (3+4)/2=3.5

Samim time što je double, kod dijeljenja treba staviti (double) ispred. To je cast operator i on će pretvorit s u double, i napravit normalno dijeljenje (inače radi cjelobrojno, pa bi bilo 7/2=3 )

Također preporučio bih ovo kod otvaranja datoteke:

if ( (in = fopen ("broj.data", "r"))==NULL )
    {
         printf("Nema ulazne datoteke!\n");
         return 1; //ili exit(1) ili neka druga naredba za prekidanje programa
    }
čisto da se eliminira greška kada nema datoteke, a javlja neko čudo ili ne radi :D

 

edit : i da, to što Tracer kaže, prije računanja prosjeka stavit if (c!=0) da napravi provjeru dal je uopće bilo brojeva :D

Poruka je uređivana zadnji put sri 9.6.2010 16:25 (Luuka).
17 godina
protjeran
offline
RE: Programiranje u C-u
Luuka kaže...

Ono zbog čega program ne radi je jer nema returna na kraju ;-)

To ne bi trebao biti razlog da program ne radi. Eventualno bi to za to dobio upozorenje compilera. Uostalom, on i sam kaže da se program pokrene i da se greška događa u runtime-u.

Poruka je uređivana zadnji put sri 9.6.2010 16:52 (Tracer).
16 godina
neaktivan
offline
Programiranje u C-u

Našao sam u čemu je bio problem, program nije mogao pronaći datoteku jer sam stavio krivi naziv datoteke.

 

Nije išlo broj.data, nego je trebalo broj.txt

 
0 0 hvala 0
15 godina
neaktivan
offline
Programiranje u C-u

Pozdrav! Imam problem sa stringovima u jeziku C. Moze li neko da mi ukratko objasni kako da uradim jedan zadatak. Profesor koji mi predaje programiranje je informaticar i slabo objasnjava. Zadatak glasi ovako: program treba da izracuna broj pojavljivanja datog znaka u datom nizu npr. u pitanju je broj pojavljivanja znaka a u nizu: ja sam student, Petar Petrovic .

 
0 0 hvala 0
17 godina
neaktivan
offline
RE: Programiranje u C-u
nemanja92le kaže...

Pozdrav! Imam problem sa stringovima u jeziku C. Moze li neko da mi ukratko objasni kako da uradim jedan zadatak. Profesor koji mi predaje programiranje je informaticar i slabo objasnjava. Zadatak glasi ovako: program treba da izracuna broj pojavljivanja datog znaka u datom nizu npr. u pitanju je broj pojavljivanja znaka a u nizu: ja sam student, Petar Petrovic .

  Bit zadatka je to da napraviš jednu while petlju koja uzima jedan po jedan znak iz stringa i provjerava je li jednak traženom znaku. Ako jest, poveća varijablu 'brojač' za 1, i tako dok ne naiđe na znak '\0' (tim znakom se u Cu obilježava kraj stringa i tako program zna kada je pregledao cijeli string).

Na kraju petlje varijabla 'brojač' će sadržavati broj ponavljanja traženog znaka u stringu.

Yeah, well, you know, that's just, like, your opinion, man.
17 godina
neaktivan
offline
RE: Programiranje u C-u
nemanja92le kaže...

Pozdrav! Imam problem sa stringovima u jeziku C. Moze li neko da mi ukratko objasni kako da uradim jedan zadatak. Profesor koji mi predaje programiranje je informaticar i slabo objasnjava. Zadatak glasi ovako: program treba da izracuna broj pojavljivanja datog znaka u datom nizu npr. u pitanju je broj pojavljivanja znaka a u nizu: ja sam student, Petar Petrovic .

#include <stdio.h>

int main(){

    char string[100];
    char znak;
    int brojac=0,i=0;

    printf("Unesite string: ");
    scanf("%[^\n]",string);
    getchar();

    printf("Unesite znak koji trazite: ");
    scanf("%c",&znak);

    do{
       if(string[i]==znak){
          brojac++;
       }
       i++;
    }while(string[i]!='\0');

    printf("\nTrazeni znak se u stringu pojavljuje %d puta!",brojac);
getche();
return 0;
}

17 godina
neaktivan
offline
RE: Programiranje u C-u
borisko kaže...

#include <stdio.h>

int main(){

      char string[100];
      char znak;
      int brojac=0,i=0;

      printf("Unesite string: ");
      scanf("%[^\n]",string);
      getchar();

      printf("Unesite znak koji trazite: ");
      scanf("%c",&znak);

      do{
            if(string[i]==znak){
                  brojac++;
            }
            i++;
      }while(string[i]!='\0');

      printf("\nTrazeni znak se u stringu pojavljuje %d puta!",brojac);
getche();
return 0;
}

  Što će se u ovom slučaju desiti ako je zadani string zapravo prazan?

Yeah, well, you know, that's just, like, your opinion, man.
17 godina
neaktivan
offline
Programiranje u C-u

Nisu rađene nikakve dodatne provjere unosa.

 

Jel teško iskompajlirati?:)

 

Unesite string:
Unesite znak koji trazite:

Trazeni znak se u stringu pojavljuje 0 puta!

 
0 0 hvala 0
17 godina
neaktivan
offline
RE: Programiranje u C-u
borisko kaže...

Nisu rađene nikakve dodatne provjere unosa.

 

Jel teško iskompajlirati?:)

 

  Na mobitelu - da :)

Yeah, well, you know, that's just, like, your opinion, man.
17 godina
neaktivan
offline
Programiranje u C-u

Imam ja jedno pitanje vezano uz pointere. Pretpostavljam da:

 

atom *pomocni;

pomocni = *glava;

 

nije isto što i:

 

atom *pomocni = *glava;

 

atom je tip pointera, to nije ni bitno previše, a funkcija u kojoj piše ovo kao parametar prima **glava (zato *glava).

http://3.141592653589793238462643383279502884197169399375105820974944592.com/index314.html
 
0 0 hvala 0
17 godina
protjeran
offline
RE: Programiranje u C-u

Uvijek gledaš po definicji. Ono s lijeve strane mora biti isto kao i ono s desne strane.

 

atom* pomocni = *glava

 

samo ako je *glava zapravo atom* (pointer, a ne dereferenciranje). Točnije, onda glava zapravo mora biti dvostruki pointer. Vrlo čest primjer u vezanim listama.

Poruka je uređivana zadnji put pet 2.7.2010 14:14 (Tracer).
14 godina
neaktivan
offline
Programiranje u C-u

zdravo treba mi pomoć u vezi programa u c-u,,,, ako netko zna da mi da barem upute ,,,,, Unaprijed zahvalan!!!

Napraviti program kojii zracunava rjesenja jednadzbi

  a11x1 + a12x2 =b1

 a21x1 + a22x2 =b2

    nepoznate su x1 i x2 koeficijenti a11,a12,b1,b2,a21,a22 se unose sa tastature, ako sistem jednadzbi nema rjesenjeprogram ispisuje poruku  rjesenje ne  postoji

Takoder treba ispisati odgovarajucu poruku ako sistem ima beskonacno mnogo rjesenja              

 

bole
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Programiranje u C-u

Već je rješavan sličan zadatak tu na forumu, pregledaj teme (ili search).

Trebaš taj sustav riješit "na ruke", i iz njih dobit formule za x1,x2, koje onda samo ubaciš u kod.

npr prvu jednadžbu pomnožiš sa -a22 , drugu sa a12 pa ih zbrojiš i dobiješ jednadžbu samo sa x1, pa evo formule za njega.

 

A za slučajeve kad nema rješenja ili ih je beskonačno ima malo više posla, to proškicaj po forumu (mislim da sam ja stavio kod)

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
15 godina
protjeran
offline
Programiranje u C-u

Nadam se da ste čuli za matematički pojam matrice i determinante. Znate ono ARRAY itd.

 

 

&amp;#176; | &amp;#176;
Moj PC  
0 0 hvala 0
17 godina
offline
RE: Programiranje u C-u
Buffer Overflow kaže...

Nadam se da ste čuli za matematički pojam matrice i determinante. Znate ono ARRAY itd.

 

 

Ima na forumu baš primjer rješenja dviju jednadžbi sa dvije nepoznanice preko determinante, a ima i putem metode suprotnih koeficijenata

Ovo nek pročitaju http://www.vus.hr/Nastavni%20materijali/Matematika/6.predavanje-SUSTAVI%20LINEARNIH%20JEDNADZBI%20%281%29.pdf

pa onda i Cramerov sustav i metodu suprotnih koeficjanata postave u program, he,he, neće samo

 

Tu je rješeno:

http://www.bug.hr/forum/topic/programiranje/racunanje-kvadratne-jednadzbe/64999.aspx?page=1&jumpto=1211936&sort=asc&view=flat

Poruka je uređivana zadnji put uto 19.10.2010 17:13 (Floki).
14 godina
neaktivan
offline
RE: Programiranje u C-u
hvala na pomoći,,,,, sad znam gdje se trebam javiti i kome,,, hehe
bole
14 godina
neaktivan
offline
Programiranje u C-u

Molio bih Vas za pomoc oko jednog zadatka.

Trebam u c-u napisat program koji bi preko unutarnjeg speekera izvodio zvukove po Morseovoj

abecedi za utipkana slova.

 

Iskreno neznam kako ni gdje poceti tak da bi svaka pomoć bila dobrodošla.

Hvala unaprijed.

 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C-u

Koliko se sjećam ovako nekako ide osnovni dio:

 

sound(frekvancija); // mislim da je max frekvencija 440
delay(trajanje); //ms
nosound();  // prekid zvuka

 

Sad ti kopaj dalje...

Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C-u
Hvala puno
14 godina
neaktivan
offline
Programiranje u C-u

Tek sam počeo pa me muče neki osnovni problemi, mozete li mi reci jesu li mi tocna rjesenja, koje ce vrijednosti imati varijable x=5 i y=2 nakon izvrsavanja slijedecih naredbi:

a) 

if (x>y)

x=y; else

y=x;

 

b) 

if(x==y)

{

x++;

y+=x;

}

else

{ y--;

x+=y;

}

 

 

c)

 

if (x<y)

{

   x=y;

   y=x;

}

else

{

   y++;

   x=y;

}

Rjesenje:
a) x=2,y=2
b) x=6,y=1
c)x=3,y=3

 

Poruka je uređivana zadnji put uto 19.7.2011 15:35 (Broken).
 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C-u

Izgleda tocno, samo zasto ne napravis program i ne provjeris ?

To ti je par linija koda, samo dodas printf, i int main()

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C-u

 

#include<stdio.h>

int x=4,y=5,d;

main()

{

d=(x%2==0)?y++:++y;

printf("%d",d);

}

Kod izvrsavanja ovog programa zar nebi trebalo ispisati vrijednost 6, ispisuje mi 5.
P.S Kako da napisem u obliku koda, da mi ne bude kao i prvi put sto sam postavio nego normalno da izgleda.

 

Poruka je uređivana zadnji put uto 19.7.2011 19:06 (Broken).
16 godina
neaktivan
offline
Re: Programiranje u C-u
Broken kaže...

 

#include<stdio.h>

int x=4,y=5,d;

main()

{

d=(x%2==0)?y++:++y;

printf("%d",d);

}

Kod izvrsavanja ovog programa zar nebi trebalo ispisati vrijednost 6, ispisuje mi 5.

 

Comp nikad nefaliva :P

 

Koja je razlika izmedju ++y i y++, odgovorit si na to pitanje i skuzit ces zasto je 5 a ne 6

14 godina
neaktivan
offline
Re: Programiranje u C-u

Ne znam jesam li u pravu ali mislim da bi ovako islo.

 

Da je umjesto x=4 bilo x=3 ne zadovoljava uvjet pa ce ici:

1.) d=++y prvo ce uvecati za 1 pa ce uzeti vrijednost znaci ovdje ce bti 6.

A sa x=4 zadovoljava uvjet pa ce ici:

2.)d=y++ prvo ce uzeti da je d =5 pa onda povecati za 1, sad zasto je ovdje 5 ako se na kraju povecava za 1.

 

Nadam se da sam ispravno shvatio.

16 godina
neaktivan
offline
Re: Programiranje u C-u
Broken kaže...

 

Nadam se da sam ispravno shvatio.

 yep, simple as that :)

14 godina
neaktivan
offline
Programiranje u C-u

Zanima me kod ovog slucaja kad imam ovo:

 

(2%7) jel li mi ostatak 2, i jel mi ostatak svaki broj umjesto dvice koji se stavi a da je manji od 7 npr. (3%7) ostatak 3, (5%7) ostatak 5, a za (23%7) ostatak 2. 

 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C-u
Broken kaže...

Zanima me kod ovog slucaja kad imam ovo:

 

(2%7) jel li mi ostatak 2, i jel mi ostatak svaki broj umjesto dvice koji se stavi a da je manji od 7 npr. (3%7) ostatak 3, (5%7) ostatak 5, a za (23%7) ostatak 2. 

Da, jest.

 

Ali zar je tako tesko provjeriti? Napises samo:

printf("%d\n", 2%7);

i imat ces bijelo na crnom, iz prve ruke, kako tocno stvari stoje.

So then I typed GOTO 500 - and here I am!
Nova poruka
E-mail:
Lozinka:
 
vrh stranice