Kezdőoldal » Számítástechnika » Programozás » Mi a baja a c programomnak...

Mi a baja a c programomnak mért nem csinálja azt amit én akarok?

Figyelt kérdés

Itt a köv. feladat:Írjatok egy C/C++ programot, amely beolvas egy legtöbb 255 karakterből álló

karakterláncot, mely *-al elválasztott szavakat tartalmaz. A szavak csak az angol ábécé

kisbetűiből állhatnak. A program módosítja a beolvasott karakterláncot a következőképpen:

törli az első szót mindenhonnan ahol a szó megtalálható a karakterláncban. Az így kapott

karakterláncot a program kiíratja a képernyőre.

Példa: ha a beolvasott karakterlánc: jo*jo*o*nagyon*jo*, a program a

képernyőre kiírja:

**o*nagyon**

Megirtam ezt a programot a compiler nem jelez hibát de mégsem müködik.Itt a program:


#include<conio.h>

#include<stdio.h>

#include<string.h>

int i=0;

char s[256],s2[256];

int main()

{

printf("Adj meg 1 karakterlancot");

gets(s);

while(s[i]!='*')

{

strcpy(s2,s+i);

i++;

}

for(i=0;strlen(s)-1;i++)

while(strchr(s2,s[i])!=NULL)

strcpy(s+i,s+i+1);



printf("%s",s);

getch();

}

Nem tudom, hogy csináljam meg rendesen még ha müködne is kitörölné az összes betüt ami benne van az első szóban pedig csak a szavakat kellene pl, ha a beolvasott string ize*ize*z*fizu akkor kitörölne minden i z e karaktert csak hogy nekem csak az ize szavakat kell a többit nem.Várom az ötleteket.



2013. jan. 24. 18:59
 1/8 anonim ***** válasza:

A saját programjaidat úgy tudod tesztelni, hogy a kritikus részek előtt és után kiírod a kritikus információt. Itt pl. "strcpy(s2,s+i);" ez biztos hogy nem azt csinálja amit szeretnél, de néhány mp lett volna kipróbálni.


Az elvhez: tagold szét a szavakat külön változóba, ott hasonlítsd össze az elsővel.

2013. jan. 24. 19:07
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

Kérem szépen irja le valaki mert megörit ez a feladat.

És valaki mondja meg ebben mi a hiba if(s[i]=='*') mert nekem nem mukodott lehet, hogy a forditoprogrammal van a gond?

2013. jan. 24. 20:00
 3/8 anonim ***** válasza:
Mit írt ki egészen pontosan?
2013. jan. 24. 20:40
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:
Ha ifel csinalom akkor nem ir ki semmit megprobaltam if nelkul ugy csinalta.
2013. jan. 24. 20:46
 5/8 A kérdező kommentje:
nyomtam egy csomo rebuildot de ugyanaz semmi
2013. jan. 24. 20:47
 6/8 anonim ***** válasza:
Gondolom kiír valami hibát...
2013. jan. 24. 21:56
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:
nem
2013. jan. 25. 13:54
 8/8 A kérdező kommentje:

megprobaltam tesztelni ezt a reszt es nem ir ki hibat de nem is csinalja azt amit akarok


#include<conio.h>

#include<stdio.h>

#include<string.h>

int i=0;

char s[256];

int main()

{

printf("Adj meg 1 karakterlancot");

gets(s);

for(i=0;i<strlen(s)-1;i++)


{


if(s[i]=='*')

printf("*");

}

getch();

}

2013. jan. 25. 13:56

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!