| mirhaim a întrebat:

Am o problema care suna cam asa: scrieti programul c++ care citeste de la tastatura un sir de cel mult 30 de caractere si un caracter c, programul determina duplicrea fiecarei apariti a caracterului c in s si scrie noul sir obtinut in fisierul bac.txt.
ma oate ajuta cineva sao rezolv?

Răspuns Câştigător
| rrrp a răspuns:

Pai si daca ti l face cineva te ajuta cu ceva?

ideea e asa:

definesti sir[30] si caracter de tipul char (sau string daca folosesti string.h)

cu scanf sau cin faci input (o sa ai apoi sa zicem sir[30]=abc si caracter=c;

apoi treci prin fiecare caracter din sir[30] si daca sir[i]=caracter il scrii dublu intr o alta variabila pe care trebuie sa o definesti inainte (sa zicem sir2[60] -- 60 pentru ca poate fi maxim de 2 ori mai lung sirul)...

deci daca sir[i]=c atunci scrii in sir2[j]=c, sir2[j+1]=c, j=j+2;
altfel sir2[j]=c, j++;

initial i si j sunt 0 si faci asta pana se termina sir...

apoi scrii sir2 intr-un fisier. daca folosesti fstream, atunci

myfile. open ("fisier.txt");
myfile

| mirhaim explică (pentru rrrp):

Da sigur ca ma ajuta deoarece inainte sa intreb am gandit si eu insa eram blocat pe partea cu functiile nu stiu de ce, foloseam si string.h, si incercam sa ma folosesc de functia strchr si strcmp dar asta nu ma ajuta deloc. Multumesc frumos!

3 răspunsuri:
| rrrp a răspuns:

Myfile < < sir2;
myfile.close;

sper sa nu fi gresit ceva ca am scris repede si n am gandit prea mult...

| rrrp a răspuns:

** altfel sir2[j]=sir[i], j++;

am gresit acolo.