Professional Documents
Culture Documents
3 лаба інфа
3 лаба інфа
Дисципліна:
«Інформатика»
Лабораторна робота №3
Робота з символьними строками. Робота з динамічно розподіляємою
памяттю
Виконав
студент групи ТІ-82
Буткевич Г.Ю.
Варіант №4
Київ 2019
Мета: розробка, налагодження та виконання программ на мові прграмування С++ для виконання
операцій над символьними строками та динамічними масивами.
ІІ.3 Завдання на лабораторну роботу ІІ.3.1 Реалізувати програмно рішення наступного завдання.
Дано: 1. Рядок символів Stroka, яка за вибором користувача: задається випадковим чином
(кількість символів у рядку вводиться користувачем), також користувач в даному випадку визначає, з
яких символів формується рядок: тільки з цифр; тільки з літер (можлива кирилиця та латиниця);
з будь-яких символів; вводиться користувачем (к-ть символів визначається після закінчення вводу).
2. Рядок символів Stroka2, яка вводиться користувачем (к-ть символів визначається після закінчення
вводу). Реалізувати: 14. Відсортувати символи в рядку Stroka методом швидкого сортування. 17
15. Визначити: Чи містить початковий рядок Stroka всі символи з Stroka2; замінити всі символи в
початковому рядку Stroka рівні символам з Stroka2 на символ #; визначити скільки разів Stroka2
зустрічається в початковому рядку Stroka. ІІ.3.2 Реалізувати програмно рішення наступного завдання.
Дано: Двовимірний динамічний масив n×n, елементами котрого будуть псевдовипадкові цілі числа
від -50 до 50. Реалізувати: Знаходження мінімального та максимального значень елементів,
розташованих в зафарбованій частині масиву з пункту 4. Область для пошуку елементів вибирається
згідно варіанту. Обов’язкові умови: Кожний пункт з «Реалізувати:» п.п. І.1 и І.2 має бути реалізованим
у вигляді окремої функції в межах однієї програми. В тілі функції реалізується тільки логіка роботи
программи (пунктів «Реалізувати:»). Інтерфейс роботи с користувачем, тобто ввід/вивід даних і
результатів роботи реалізуеться в тілі функції main або в будь-якій іншої окремої функції, але ж не в
функціях, реалізуючих пункти из «Реалізувати:».
Код:
#include <iostream>
#include <string>
#include <ctime>
char randomChar(int);
int parseInt(string);
void main() {
setlocale(LC_ALL, "Russian");
system("chcp 1251");
system("cls");
srand(time(NULL));
// random = 1;
if (random) {
// int type = 1;
str.resize(lenght);
str[i] = randomChar(type);
else {
// bool print = 1;
if (print) {
if (print) {
cout << (isContainsAllChars(str, str2) ? "Все" : "Не все") << " символи рядка 2 е в рядку 1" << endl << endl;
cout << "Другий рядок в первом зустрiчаеться " << numOfHits(str, str2) << " раз." << endl << endl;
system("pause");
/*--------------------------------------------------------------------------------------------*/
srand(time(NULL));
printDoubleArray(square, n, method);
cout << " Мiнiмальне значення в даной областi: " << minmaxOfArray(square, n, method, false) << endl;
cout << "Максимальне значення в даной областi: " << minmaxOfArray(square, n, method, true) << endl;
delete[] square[i];
delete[] square;
system("pause");
sharps.resize(s2.size());
int replaceNums = 0;
++replaceNums;
return s1;
}
string sp = "";
sp.resize(s2.size());
int replaceNums = 0;
++replaceNums;
return replaceNums;
check[i] = false;
if (s2[i] == s1[j]) {
check[i] = true;
if (DEBUG) for (int n = 0; n < s2.size(); ++n)cout << "s2[" << n << "]" << ((n < 10) ? " " : "") << " : [" << s2[n] <<
"] : " << (check[n] ? "true" : "false") << endl;
return true;
struct stat {
int min = 0;
int max = 0;
} method;
//робота з двовимірними масивами (області пошуку)
switch (region) {
case 1: {
#define J_from 0
//---------------------------------------------------------------//
//---------------------------------------------------------------//
break;
case 2: {
#define J_from 0
//---------------------------------------------------------------//
//---------------------------------------------------------------//
break;
case 3: {
//---------------------------------------------------------------//
//---------------------------------------------------------------//
break;
case 4: {
#define J_from 0
//---------------------------------------------------------------//
//---------------------------------------------------------------//
break;
switch (region) {
case 1: {
#define J_from 0
//---------------------------------------------------------------//
cout << ((square[i][j] < 0) ? "" : " ") << ((abs(square[i][j]) < 10) ? " " : "") << square[i]
[j] << " ";
}
//---------------------------------------------------------------//
break;
case 2: {
#define J_from 0
//---------------------------------------------------------------//
cout << ((square[i][j] < 0) ? "" : " ") << ((abs(square[i][j]) < 10) ? " " : "") << square[i]
[j] << " ";
//---------------------------------------------------------------//
break;
case 3: {
//---------------------------------------------------------------//
cout << ((square[i][j] < 0) ? "" : " ") << ((abs(square[i][j]) < 10) ? " " : "") << square[i]
[j] << " ";
//---------------------------------------------------------------//
break;
case 4: {
#define J_from 0
//---------------------------------------------------------------//
cout << ((square[i][j] < 0) ? "" : " ") << ((abs(square[i][j]) < 10) ? " " : "") << square[i]
[j] << " ";
//---------------------------------------------------------------//
break;
//Сортування масива
int p = first;
do {
else break;
++i; --j;
} while (true);
swap(s[p], s[j]);
if (print) {
string t = s;
t[j] = '|';
return s;
int parseInt(string s) {
int i;
if (!s[0])return 0;
return 0;
return stoi(s);
string s;
do {
cin >> s;
return parseInt(s);
}
switch (type) {