
Zhovtyak lab 7
.docxГУАП
КАФЕДРА № 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:
Проанализировав записи на экране, можно увидеть, что первым в выдаче программы первое слово состоит из номеров слов, в которых количество букв совпадает с числом, введенным пользователем. Это значит, что программа работает правильно!
Вывод: я изучил принципы организации динамических массивов и методы их обработки, работу со строками в С++.