Witam, meczylem sie dosc sporo ale nie daje rady wiec przychodze o rade, chodzi o to, ze wproawdzamy do programu slowo, i jesli w tym slowie wystapi 2 razy z rzedu ta sama litera to wypisujemy ja 2 razy normalnie ale jak wystapi wiecej niz 2 razy, to wypisujemy litere i liczbe jej wystapien, przyklad wejscia i wyjscia:
Dla danych wejściowych:
4
OPSS
ABCDEF
ABBCCCDDDDEEEEEFGGHIIJKKKL
AAAAAAAAAABBBBBBBBBBBBBBBB
prawidłowym rozwiązaniem jest:
OPSS
ABCDEF
ABBC3D4E5FGGHIIJK3L
A10B16
I moj kod robi to ale tylko przy niektorych krotszych wyrazach ale z tymi z przykladu sobie nie radzi:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void){
int t=0,x=0,j=1;
char a=0;
char tab[100];
printf("give me a word: \n");
printf("; ");
scanf("%s", tab);
x=strlen(tab);
for(int i=0;i<x;++i){
if(tab[i]==a){
++j;
}
if(j>2){
printf("%i", j);
j=1;
++i;
}
if(tab[i] !=a || tab[i+1] !=a){
printf("%c", tab[i]);
a=tab[i];
}
}
return 0;
}