Muszę napisać taki oto program:
wczytuje tekst złożony z małych liter alfabetu łacińskiego ('a' do 'z'),
dokonuje kompresji tekstu, zastępując sekwencje tych samych liter ciągiem [nX], gdzie n jest licznikiem powtórzeń znaku X,
albo:
wczytuje uprzednio skompresowany tekst
dokonuje jego dekompresji
Przykłąd:
Wejście: abcccdeeffffg
Wyjście: ab[3c]d[2e][4f]g
Zrobiłem coś takiego:
#include <iostream>
using namespace std;
int main(int argc, char* argv[]){
if(argc==3){
string str(argv[2]);
cout<<str<<endl;
char output[1000], c, c1;
int licz = 0, powt=0;
int i;
if(argv[1][0] =='c'){
c=str[0];
for(i=1; i<str.length()+1; i++){
c1= str[i];
if(c==c1){
powt++;
}
else{
if(powt>0){
output[licz++]='[';
output[licz++] = 49 + powt;
output[licz++] = c;
output[licz++] = ']';
powt = 0;
}
else{
output[licz++] = c;
}
}
c=c1;
}
output[licz] = '\0';
string s(output);
cout<<s;
}
if(argv[i][0] == 'd'){
}
}
return 0;
}
Proszę o pomoc