| | |
| Stránka: 1 z 1
| [ Príspevkov: 4 ] | |
Autor | Správa |
---|
Registrovaný: 14.03.09 Prihlásený: 16.10.13 Príspevky: 25 Témy: 10 | Napísal bbeni: 10.05.2009 21:20 | |
|
mam hotový program len po spustení skonči,kde je chyba ?
Kód: #include <stdio.h>
void nacitaj();
int sumuj();
main() {
char vektor[10]; int dlzka; printf("Pocet neparnych cisel v retazci je %d\n", sumuj(vektor[10], dlzka));
}
void nacitaj(char vektor[10]) {
int i, dlzka;
printf("Zadaj retazec"); scanf("%s", vektor+i); dlzka=strlen(vektor); printf("%d",dlzka); }
int sumuj(char vektor[10], int dlzka) {
int i, k ,l;
for (i = 0; i < dlzka; i++)
if (*(vektor + i)='1') k++;
}
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 |
Na koniec daj getchar()
Kód: main() {
char vektor[10]; int dlzka; printf("Pocet neparnych cisel v retazci je %d\n", sumuj(vektor[10], dlzka)); getchar(); }
(ak to nepojde, tak to daj dvakrat - getchar(); getchar();. Aj ked malo by stacit raz, kedze scanf tusim nenechava v vstupnom bufferi znak noveho riadku)
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 14.03.09 Prihlásený: 16.10.13 Príspevky: 25 Témy: 10 | Napísal autor témy bbeni: 10.05.2009 22:33 | |
|
nepomohlo to ,skompilovaný je ale po spustení skonci...
to sa mi este nestalo...
mozno nieco so smernikmi alebo neviem...
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 |
Hm, fakt, predtym som sa na zvysok kodu nepozeral. Operator porovnania je ==
if (*(vektor + i)=='1')
V fcii sumuj() si nevynuloval k, takisto k premennej vektor pripocitavas i, ktore je nedefinovane
scanf("%s", vektor+i);
(neviem ani preco ju tam pricitujes, jedna sa len o jednorozmerne pole, takze v tom nevidim ziadny vyznam).
A takisto, pri volani funkcie sumuj() obsahuje ten retazec vektor[] nahodne znaky, predtym si ho nikde nedefinoval (asi si zabudol predtym vyvolat nacitaj() ).
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
| Stránka: 1 z 1
| [ Príspevkov: 4 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|