devc++

Programi za crtanje shema i pločica, simuliranje el. sklopova, savjeti. Diskusija o ostalim programima vezanim za elektroniku.

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
0leee
Penjem se :)
Penjem se :)
Posts: 68
Joined: 16-08-2011, 20:43

devc++

Post by 0leee »

Zasto mi uvijek brojilo radi krivo,zna tko?

// ZADATAK

//U prvoj se vrsi ucitavanje niza znakova maximalno 100
//U drugoj se vrsi citanje brojeva maximalno 100
//U glavnu funkciju se pozivaju sporedne funkcije,te vrsi ispis pocetne rijeci i broj brojeva unutar te rijeci
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>

rijec(char polje[]){


printf("\n Upisi niz znakova");

gets(polje);



}

brojevi(char polje[]){
int i,br=0;


for(i=0;i<=100;i++){
if(polje>='0' && polje<='9'){ br=br+1;}
}
return br;}


main(){
char polje[100];
printf("\n U nizu znakova %s ima %d brojeva.",rijec(polje),brojevi(polje));
getch();
return 0;
}
_heX
Napredujem
Napredujem
Posts: 136
Joined: 29-10-2009, 20:09
Location: Republika Zagorje

Re: devc++

Post by _heX »

index zadnjeg clana polja velicine 100 je 99. Tak da nemres pisati for(nesto; index <= 100; nesto), vec for(nesto; index < 100; nesto).
Druga stvar "buffer" ti je definiran lokalno i nije inicijaliziran te sadrzi slucajne vrijednosti, ak ga definiras globalno automatski ce biti inicijaliziran vrjednoscu 0. Ako ga zadrzis lokalno definiraj "buffer" kao char polje[100] = {0}; Ak nejde tak onda na pocetak stavi for(i=0; i < 100; i++) polje = 0;
0leee
Penjem se :)
Penjem se :)
Posts: 68
Joined: 16-08-2011, 20:43

Re: devc++

Post by 0leee »

Nije u tome problem,program radi,samo brojac uvijek izbacuje krivu vrijednost,adeklarirao sam ga u pocetku br=0; tako da bi za svaku znamenku0-9 trebao uvecat svoju vrijednost za 1,mozda sam nesto pogrijesio jer radim s funkcijama,da nisu funkcije u pitanju nebih fulao.

vjerojatno je stvar u funkcijama,ali ne mogu nac gresku,nikakav error,samo krivo radi =)
_heX
Napredujem
Napredujem
Posts: 136
Joined: 29-10-2009, 20:09
Location: Republika Zagorje

Re: devc++

Post by _heX »

nisam ni rekao da program ne radi, nego zasto radi krivo! C kompajler ne provjerava dal je prekoracen index polja, ti kao programer moras voditi racuna o tome. Ako polje pak nije inicijalizirano, sadrzi slucajne vrijednosti koje naravno mogu biti i znamenke 0-9. Neznam sad jel gets umece i bajt 0 na kraj stringa, ak da, onda provjeravaj znakove dok ne dosegnes vrijednost 0 (pazi ne znak '0' vec bas 0 )
0leee
Penjem se :)
Penjem se :)
Posts: 68
Joined: 16-08-2011, 20:43

Re: devc++

Post by 0leee »

kuzim sto hoces reci,ali ne uspijevam
nixx994
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 248
Joined: 19-03-2011, 18:20
Location: Milutovac/Trstenik/Krusevac
Contact:

Re: devc++

Post by nixx994 »

evo ti jedan prost zatak koji stampa elemente niza koji su veci od -1 a manji od 7.
program meni radi,pa ti vidi gde si pogresio u tvom


#include "stdio.h"
#include "stdlib.h"
#include "math.h"
main()
{
int n,G=0,Y[1024],i;
printf("n?\n");
scanf("%d",&n);
printf("elementi\n");
for (i=0;i<n;i++)
scanf("%d",&Y);
printf("resenje- \n");
for (i=0;i<n;i++)
{
if(Y>-1&&Y<7)
{
G++;
printf("%d\n",Y);
}
}
printf("broj elemenata \n %d\n",G);
system ("pause");
return 0;
}
Kad porastem bicu Feko,ili mozda Pedja!!!:) :) :)
0leee
Penjem se :)
Penjem se :)
Posts: 68
Joined: 16-08-2011, 20:43

Re: devc++

Post by 0leee »

ma hvala,kad ne radim s funkcijama to mi radi bez beda,ali ovaj gore bas i ne =)
Post Reply