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

Zhovtyak lab 7

.docx
Скачиваний:
1
Добавлен:
27.08.2024
Размер:
89.63 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ

ДИНАМИЧЕСКИЕ МАССИВЫ И СТРОКИ НА С++

по курсу: ИНФОРМАТИКА

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

4016

М.О.Жовтяк

подпись, дата

инициалы, фамилия

Санкт-Петербург 2020

Цель работы: изучение принципов организации динамических массивов в стандартной библиотеке языка С++ и методов их обработки. Освоение приемов работы со строками средствами стандартной библиотеки языка С++. Совершенствование навыков декомпозиции программы на подпрограммы, разработки и откладки программ в IDE.

Мой персональный вариант:

Мой исходный код:

#include <iostream>

#include <vector>

#include <string>

#include <sstream>

using namespace std;

void res(vector<string> s1, int sizel, int number, vector<int>& task)

{

int nomer = 0;

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

{

nomer++;

char nomer1 = nomer;

if (s1[i].size() == number)

{

task.push_back(nomer1); //определение совпадения количества букв с выбранным номером

}

}

}

int main()

{

vector<int> v1; //строка

vector<string> s1; //строка со словами

vector<int> task;

string proposal, helps; //помогательные переменные

int a = 0;

int number;

cout << "Enter a proposal" << endl;

getline(cin, proposal);

a = proposal.size();

cout << "Enter a number" << endl;

cin >> number;

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

{

if (proposal[i] == ' ') v1.push_back(i);

};

v1.push_back(a + 1);

int sizel = 0;

for (auto x : v1) sizel++; //поиск количества слов

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

{

if (proposal[i] != ' ')

helps = helps + proposal[i];

else {

s1.push_back(helps);

helps.clear();

}

}

s1.push_back(helps); //заполнение вектора словами

res(s1, sizel, number, task);

cout << "Programm's answer:" << endl;

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

cout << task[i];

cout << " ";

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

cout << s1[i] << " ";

return 0;

}

Результат работы в консоли откладки Microsoft Visual Studio:

Проанализировав записи на экране, можно увидеть, что первым в выдаче программы первое слово состоит из номеров слов, в которых количество букв совпадает с числом, введенным пользователем. Это значит, что программа работает правильно!

Вывод: я изучил принципы организации динамических массивов и методы их обработки, работу со строками в С++.

Соседние файлы в предмете Информатика