Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Otchyot_OOPro_Laba_4

.docx
Скачиваний:
25
Добавлен:
19.01.2015
Размер:
27.54 Кб
Скачать

Лабораторная работа №3

По дисциплине «Объектно-ориентированное программирование»

Ст.группы ИНФ-10-1 Михайловой Александры

Создать программу, которая вводит c клавиатуры массив строк, находит в нем все повторяющиеся последовательности (a a, b b b и т.д.) и заменяет каждую из них на два элемента: повторяющийся символ и длину последовательности. Выдает на экран результирующий массив и список пар "длина последовательности" - "число последовательностей с заданной длиной".

Код программы:

#include <iostream>

#include <string>

#include<vector>

using namespace std;

void main()

{

int size=3,index=-1,count=0,x=0;

char c[10];

string temp,substring;

vector<string> vs(size);

cout<<"Input "<<size<<" strings:"<<endl;

for(int i=0;i<size;++i)

{

getline(cin,temp,'\n');

vs[i]=temp;

}

for(int i=0;i<vs.size();++i)

{

for(int j=0;j<vs[i].length();++j)

{

index=j;

x=j;

count=0;

substring=vs[i][j];

++count;

while(x+1<vs[i].length())

{

if(vs[i][x] == vs[i][x+1])

{

++count;

++x;

}

else

break;

}

if(count>1)

{

itoa(count,c,10);

substring+=c;

vs[i].replace(index,count,substring);

count=0;

++j;

}

}

}

for(int i=0;i<size;++i)

{

cout<<vs[i]<<endl;

}

}

Соседние файлы в предмете Объектно ориентированное программирование