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

Модуль 2 / M2L1

.docx
Скачиваний:
80
Добавлен:
22.04.2016
Размер:
51.43 Кб
Скачать

Міністерство освіти і науки України

Національний авіаційний університет

Кафедра прикладної інформатики

Лабораторна работа №6

З дисципліни: “Алгоритмізація та програмування”

Виконав

Студент ТП - 113

Односумов Микола

Варiант 16.

Завдання 1.

Двовимірні масиви. Задача про вибори.

Нехай шість населених пунктів позначені номерами від 1 до 6 (величина k), а п’ять кандидатів – номерами від 1 до 5 (величина п). Кількість голосів, набраних кандидатами у кожному пункті визначається формулою akn=random(10і+50), де і - номер варіанта. (Функція random(п) описана у модулі stdlib.h. Перед використанням функції random(п) треба записати на початку програми функцію randomize() щоб під час виконання програми кожного разу отримувати різні випадкові числа.) Вивести на екран таблицю результатів голосування, де у рядках є дані з населених пунктів, а у стовпцях - дані щодо конкретних кандидатів. Визначити і вивести значення величин з додаткового завдання. Створити одновимірний масив з шуканими даними.

Індивідуальне завдання:

  1. Хто набрав максимальну, а хто - мінімальну кількість голосів у першому населеному пункті?

Машинний код:

#include <iostream>

#include <stdlib.h>

#include <locale.h>

using namespace std;

int main()

{

setlocale(LC_ALL, "RUSSIAN");

int n, k, max = 0, min = 0, a, b;

int d[10][10];

for (int i = 1; i <= 6; i++)

{

for (int f = 1; f <= 5; f++)

{

d[i][f] = rand() % 210;

cout << d[i][f] << "\t";

if (f == 1) {

max = d[i][f];

min = d[i][f];

}

if (i == 1) {

if (max > d[i][f]) {

max = d[i][f];

a = f;

}

if (min < d[i][f]) {

min = d[i][f];

b = f;

}

}

}

cout << endl;

}

cout << "Кандидат, который набрал минимальное кол-во баллов в первом городе - " << b << endl;

cout << "Кандидат, который набрал максимальное кол-во баллов в первом городе - " << a << endl;

system("pause");

return 0;

}

Скріншоти:

Блок-схема:

Задача2. Дані типу рядки.

Ввести прізвище, ім’я та по батькові як одне дане типу рядок. Визначити довжину рядка і кількість букв «а» у ньому. Виконати додатково завдання свого варіанта двома способами:

а) розглядаючи рядок як масив символів;

б) застосовуючи до рядка стандартні функції.

Індивідуальне завдання.

Вивести ім’я по батькові та кількість букв у імені.

Машинний код:

#include <iostream>

#include <string.h>

#include <locale.h>

#include <string>

using namespace std;

int main()

{

setlocale(LC_ALL, "russian");

string str_fio;

char fio[50];

char otch[50];

int a = 0, n = 0, n2 = 0, x = 0;

bool c = false;

cout << "Правильно введите ваше ФИО используя английскую транслитерацию." << endl;

cin.getline(fio, 50);

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

{

if (fio[i] == 'a' || fio[i] == 'A')

a++;

}

for (int i = 2; i < 50; i++)

{

if (isupper(fio[i]) == true)

{

c = true;

n = i;

};

if (c == true) break;

}

c = false;

for (int i = n + 1; i < 50;i++)

{

if (isupper(fio[i]) == true)

{

c = true;

n2 = i;

}

if (c == true) break;

}

for (int i = n2; i < 50; i++)

{

otch[x] = fio[i];

x++;

}

str_fio = fio;

int pos1 = str_fio.find(" ", 2);

int pos2 = str_fio.find(" ", pos1 + 1);

string str_name = str_fio.substr(pos1 + 1, pos2 - pos1);

int n_name = str_name.length();

char ppp = '!';

str_fio.push_back(ppp);

int pos3 = str_fio.find("!", pos2);

str_fio.erase(pos3, 1);

string str_last_name = str_fio.substr(pos2 + 1, pos3-pos2);

cout << endl;

cout << "Ваше ФИО = " << fio << endl;

cout << "Длина рядка = " << strlen(fio) << endl;

cout << "Количество букв A/a = " << a << endl;

cout << endl;

cout << "Индивидуальные задания, выполненные при рассмотрении \nстроки, как массива символов:" << endl;

cout << "Количество символов в вашем имени = " << ((n2 - n) - 1) << endl;

cout << "Ваше отчество = " << otch << endl;

cout << endl;

cout << "Индивидуальные задания, выполненные с помощью применения \nк рядку стандартных функций:" << endl;

cout << "Количество символов в вашем имени = " << n_name - 1 << endl;

cout << "Ваше отчество = " << str_last_name << endl;

system("pause");

return 0;

}

Скріншоти:

Соседние файлы в папке Модуль 2