Kezdőoldal » Számítástechnika » Programozás » Valaki segítene C programozásban?

Valaki segítene C programozásban?

Figyelt kérdés

Hali, megint lenne egy kérdésem.

Az alábbi a feladat:

1. t1 11 elemű tömb feltöltése olyan karakterekkel, amelyeknek decimális értékének 1-esek és 10-esek helyi értékén levő számjegyek összege páros

2. t1->t2 t1 olyan elemei, melyek nem oszthatóak se 3-mal se 5-tel (a decimális értéküket vizsgáljuk)

3. t1 ből megkeresni azt a karaktert amelyikben a legtöbb bináris 0 van.

4. ezeket kiiratni.


Én így csináltam:


#include <stdio.h>

#include <stdlib.h>


void feltolt(char *p);

void osztas(char *p, char *q);

void keres(char *p, char *s);

void kiir(char *p, char *q, char *s);

int main()

{

char tomb1[11];

char tomb2[11];

char szam;

feltolt(tomb1);

osztas(tomb1,tomb2);

keres(tomb1,szam);

kiir(tomb1,tomb2,szam);

return 0;

}

void feltolt(char *p)

{

char a=0;

int i,j,v=0;

for(i=0,j=0;i<11;i++,j++)

{

printf("%d. karakter: ",j+1);

scanf("%c",&a);

printf("\t decimalis erteke: %d\n",a);

v=a;

if(((v%10)+((v/10)%10))%2==0)

*(p+i)=a;

else

{

printf("nem jo szam\n");

i--;

}

fflush(stdin);

}

}

void osztas(char *p, char *q)

{

int i,v=0,j=0;

for(i=0;i<11;i++)

{

v=*(p+i);

if(v%3!=0 && v%5!=0)

{

*(q+j)=*(p+i);

j++;

}

}

}

void keres(char *p, char *s)

{

int i=0,db=0,nagy=0;

while(i<11)

{

if((p[i]&0b10000000)==0) db++;

if((p[i]&0b01000000)==0) db++;

if((p[i]&0b00100000)==0) db++;

if((p[i]&0b00010000)==0) db++;

if((p[i]&0b00001000)==0) db++;

if((p[i]&0b00000100)==0) db++;

if((p[i]&0b00000010)==0) db++;

if((p[i]&0b00000001)==0) db++;


if(db>nagy)

{

nagy=db;

*s=p[i];

}

i++;

}

}

void kiir(char *p, char *q, char *s)

{

printf("elso tomb: %s\n",p);

printf("masodik tomb: %s\n",q);

printf("legtobb binaris nulla: %s\n",s);

}


Nos ha a bináris 0ás függvényt kiveszem, akkor tökéletesen működik. Viszont ha így berakom, akkor miután feltöltöttem a tömböt vmi 'call stack' nevü kis hibaüzenet ugrik elő. Valaki tudja mi lehet a gond?

Köszi előre is



2013. máj. 14. 17:36
 1/1 A kérdező kommentje:

amugy most néztem, és amikor a hibát kiírja a debugger kis sárga nyila a:

*s=p[i];

sorra ugrik, itt lehet a gond?

2013. máj. 14. 17:37

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!