Witam, ślęczę nad tym problemem od kilku godzin i nie mogę, po prostu nie mogę... a bez tego zadania nie ruszę dalej niestety. Bardzo proszę o pomoc.
Napisz program, który pobierze od użytkownika łańcuch tekstowy zawierający wyłącznie małe litery łacińskie oraz cyfry 1..9. Cyfra musi poprzedzać literę i oznacza liczbę powtórzeń litery, która za nią następuje. Program ma zwrócić długość łańcuchu wynikowego, a w następnej linii sam ciąg wynikowy wypisany od końca. Długość ciągu wejściowego nie przekroczy 100 znaków, a długość ciągu wynikowego nie przekroczy 200 znaków.
Przykład:
"a3b1aaabzdury5z3y" --> "abbbaaabzduryzzzzzyyy"
moje wypociny:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
int main(int argc, char *argv[])
{
char tablica[100] = "c3abb";
char tablica_wyjsciowa[200];
int rozmiar = strlen(tablica);
int i, j, t = 0;
int liczba_powtorzen = 0;
char litera;
for(i = 0; i < rozmiar; i++)
{
if(isalpha(tablica[i]))
{
tablica_wyjsciowa[t] = tablica[i];
t++;
}
if(isdigit(tablica[i]))
{
liczba_powtorzen = (int) tablica[i];
litera = tablica[i+1];
for(j = 0; j < liczba_powtorzen; j++)
{
tablica_wyjsciowa[t] = litera;
t++;
}
i += liczba_powtorzen - 1;
}
}
printf("%s", tablica);
printf("\n%s", tablica_wyjsciowa);
return 0;
}