Код | void zam() { char ar[100]={},br[100]={}; int size1,size2,sizeall; char i,a; cout <<"Введiть розмiр фамiлiї "; cin >> size2; cout <<"Введiть вашу фамилию: "; for(int i=0;i<size2;i++) {cin>>br[i];} cout <<"Введiть кiлькiсть елементiв масиву: "; cin >> size1; cout<<"Введiть текст масиву: "; for(int i=0;i<size1;i++) {cin>>ar[i];} cout<<"Утворений масив: "; for(int i=0;i<size1;i++) {cout << ar[i] <<" ";} cout <<"Введiть символ який потрiбно замiнити: "; cin >> a; sizeall=size1; //переменная для размера выходящего масива.начальное значение размер масива. i=0; for(int z=sizeall-2;z>=0;z--) //z=размер масива -2(нумерация масива начинается с 0)(просмотр символ+1). { if(ar[z]==a && ar[z+1]==a ){sizeall=sizeall+size2-2; //условие, если символ==а и последующий==а тогда продолжить. for(int g=sizeall-1;g>=z;g--) {ar[g]=ar[g-2];} //сдвиг вправо, размер при єтом уже увеличен. for(int h=z;h<=z+size1;h++) {ar[h]=br[i];i++;}} //єлементу h который равен перменной самого первого цикла присвоить первый элемент масива br. } cout<<"Утворений масив: "; for(int i=0;i<sizeall;i++) {cout << ar[i] <<" ";} }
|
Такая вот программа, если какой либо символ встречается 2 раза, то вместо него вставляется выбранная фамилия. Не работает до конца, выводит все верно до окончания фамилии, дальше просто пустое пространство. Консоль ниже, прикрепленным файлом. |