Új hozzászólás Aktív témák

  • Dead_slow

    tag

    Üdv!
    Újabb problémával jelentkezem, feladat következő:
    Írjon cenzúrázó programot. A program beolvas egy mondatot, majd egy tiltott karaktersorozatot. A mondatban kicseréli a karaktersorozat minden előfordulását 3 csillag karakterre(cenzúrázott szó helyett 3 csillagot rajzol). Végül kiírja a cenzúrázott mondatot.

    A feladat megoldása során csak gets, scanf, és a printf függvények használhatók. NEM szabad előre megírt stringkezelő függvényeket használni.

    Szokás szerint elkezdtem megírni :D, de ezt a részt hogy a beolvasott tiltott szó helyére 3 csillagot tegyen nem tudom megcsinálni, megírtam úgy hogy minden karakterét a szónak csillagra cseréli, de ez ugye így nem jó.

    #include <stdio.h>

    int main(){
    int i,j,szohossz,mondathossz;
    char szo[20],mondat[100];

    printf("mondat:");
    gets(mondat);
    printf("szo:");
    scanf("%s", szo);

    i=0;
    while(szo[i]!=0){
    i++;
    }
    szohossz=i;

    i=0;
    while(mondat[i]!=0){
    i++;
    }
    mondathossz=i;

    for(i=0;i<=mondathossz-szohossz;i++){
    for(j=0;j<szohossz;j++){
    if(szo[j]!=mondat[i+j])
    break;
    }
    if(j==szohossz){
    for(j=0;j<szohossz;j++){
    mondat[i+j]='*';
    }
    i=i+szohossz-1;
    }
    }

    printf("%s\n", mondat);


    system("PAUSE");
    return 0;
    }

    Köszönöm :R

Új hozzászólás Aktív témák

Hirdetés