dzień dobry, nie mogę poradzić sobie z zamianą dwóch znaków, dodatkowo nie wiem, czy indeks dobre miejsce mi wyznacza, wyznacza mi +1 miejsca. proszę o pomoc
zadanie:
- pobierz tekst, 2 znaki drukowane, liczbe dodatnia
- oblicz, ile znakow znajduje sie w tekscie
- pobrana liczbe potraktuj jako indeks, znak o tym indeksie zmien na "?"
- jesli drugi znak z pobranych pojawi sie w tekscie, zmien go na pierwszy pobrany znak
czyli (znak1=b, znak2=a; pobrany tekst: ala ma kota; więc drukuj:blb mb kotb) - w tekscie "_" zmien na spacje
nie wiem czy: punkt 3 jest dobrze, punkt 4 czuje, ze jestem blisko, a w punkcie 6 są kompletnie głupoty i nie wiem absolutnie jak zmienić "_"
na spacje, próbuje bez biblioteki zadnej to pisac, wszystko w petlach i ifach,
prosze uprzejmie o pomoc
oto mój kod:
#include <stdio.h>
int main()
{
char z[100];
int a, b;
unsigned int c;
int g=0;
printf("podaj 2 znaki drukowane oraz jedna liczbe calkowita dodatnia\n");
scanf("%c %c %u",&a, &b, &c);
printf("%c %c %u\n", a, b, c);
printf("podaj zdanie zbudowane z kilku wyrazow\n");
getchar();
gets(z);
for(unsigned int i=0;z[i]!='\0';i++)
{
g++;
z[c]='?';
if(z[i]==b)
{
b=a;
}
if('_'==' ')
{
putchar(' ');
}
}
printf("wszystkich znakow w tekscie jest %d\n", g);
printf("%s",z);
}