Informatică, întrebare adresată de georgebodeacnp2hqab, 8 ani în urmă

Se citeste cu text codificat dupa regula urmatoare: in fata fiecarui caracter este scris nr. de aparatii consecutive ale acestuia. Realizati un program care decodifica textul. Nr de aparitii consecutive ale unui caracter este mai mic decat 10;

Exemplu: 1c1o1p3i --> copiii
Atentie se decodifica textul, adica se modifica textul initial ( banuiesc ca folosim un sir auxiliar ). Am nevoie de o varianta functionala in Code Blocks (verificata).

Răspunsuri la întrebare

Răspuns de andreidiaconescu18
0

1. solutia care ti-am scris-o mai jos merge inclusiv pentru fraze cu spatii.

2. varianta functionala in codeblocks ti-o faci singur. Nu toti folosim ca IDE codeblocks deci e treaba ta cum integrezi codul in proiect.

#include <iostream>


#include <cstring>



using namespace std;



int main() {


   char sir_final[256];


   int pos=0;


   char sir[100];


   gets(sir);


   for(int i=0; i<strlen(sir); i+=2)


   {


       int nr = sir[i]-'0';


       char c = sir[i+1];


       for(int j=0; j<nr; j++)


       {


           sir_final[pos]=c;


           pos++;


       }


       sir_final[pos]='\0';


   }


   cout<<sir_final;


   return 0 ;



}

Alte întrebări interesante