Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
___звіт___1.doc
Скачиваний:
32
Добавлен:
08.02.2016
Размер:
985.6 Кб
Скачать
    1. Програмна обробка одновимірних масивів

Одновимірний масив — це послідовність однотипних даних. Уважно проаналізувавши це означення, можна зробити висновок, що масив фактично поєднує в собі дві структури: множину елементів і заданий на цій множині порядок.

Усі елементи масиву мають один і той самий тип, що називається базовим. З іншого боку, порядок теж визначається набором значень одного й того самого типу, що називається індексним, а самі ці значення називаються індексами. Кожному елементу масиву відповідає певний індекс. Індексний тип має бути простим порядковим типом даних. Кількість елементів в одновимір-ному масиві називається його розмірністю, або довжиною.З точки зору математики одновимірний масив — це вектор. Наприклад, масив або вектор А, що має п'ять елементів, які записують у математиці у вигляді індексованих змінних а1 и а2, а3, а4, а5, можна зобразити значеннями цих змінних у сусідніх ділянках оперативної пам'яті.

а1

а2

а3

а4

а5

Задача 3.6.1

  1. Постановка задачі.

Зріст кожного з 22 учнів класу представлений у вигляді масиву. Визначити кількість учнів,зріст яких не перевищує значення s .

Вхідні дані :

значення s – змінна цілого типу - int s, одновимірний масив цілого типу - int A[N];

Вихідні дані :

кількість учнів,зріст яких не перевищує значення s – змінна цілого типу – int k;

  1. Схема алгоритму рішення задачі.

А[i]

k,s

1 0

Рис. 29 Схема алгоритму задачі 3.6.1

  1. Лістинг програми.

#include <iostream>

#include <iomanip>

#include<windows.h>

using namespace std;

const int N=22;

void main ()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

int A[N],s,k=0;

cout<<"Введите значение s :";

cin>>s;

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

{

cout<<"Введите рост ученика "<<i<<" :";

cin>>A[i];

}

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

if(A[i]>s)k++;

cout<<"Количество учеников,рост которых не превышает значение s : "<<k<<endl;

system("pause");

}

  1. Тестування програми.

Рис.30. Результат тестування задачі 3.6.1

3.7 Програмна обробка двовимірних масивів

Двовимірний масив - це масив, де кожному елементу ставиться у відповідність два індекси. Для початку роботи з масивом готуємо місце в пам'яті у вигляді прямокутника, що має задану кількість рядків і стовпчиків. Для цього описуємо його в розділі оголошень, використовуючи зарезервоване слово Аrray, після якого в квадратних дужках вказуємо розмірність масиву, причому враховуємо, що на першому місці вказуються індекси рядків, а на другому - стовпчиків, і обов'язково тип елементів.).

Задача 3.7.1

  1. Постановка задачі.

Нехай 6 населених пунктів позначені номерами від 1 до 6 (величина k), а 5 кандидатів – номерами від1 до 5 (величина n). Кількість голосів,набраних кандидатами у кожному пункті визначити за допомогою генератора випадкових чисел. Вивести на екран таблицю результатів голосування, де у рядках є дані з населених пунктів, а у стовпцях – дані щодо конкретних кандидатів. Хто з кандидатів набрав максимальну. А хто – мінімальну кількість голосів у четвертому населеному пункті?

Вхідні дані :

двовимірний масив цілого типу - int A[k][n];

Вихідні дані :

мінімальна кількість голосів у четвертому населеному пункті – змінна цілого типу – int min, максимальна кількість голосів у четвертому населеному пункті – змінна цілого типу – int mах;

  1. Схема алгоритму рішення задачі.

A[i;j]

min=A[3][j]; max=A[3][j]

Рис. 31 Схема алгоритму задачі 3.7.1

  1. Лістинг програми.

#include <iostream>

#include <iomanip>

#include<windows.h>

#include <math.h>

using namespace std;

const int n=5,k=6;

void main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

int A[k][n],max,min;

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

for(int j=0;j<n;j++)

A[i][j]=rand()%10;

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

{

cout<<endl<<"Номер населённого пункта "<<i+1<<":";

for(int j=0;j<n;j++)

{

cout<<'\t';

cout<<A[i][j];

}

}

min=max=A[3][0];

for(int j=0;j<n;j++)

{

if(A[3][j]<min)min=A[3][j];

}

cout<<endl<<"Минимальное количество голосов в четвёртом населённом пункте:"<<min;

for(int j=0;j<n;j++)

{

if(A[3][j]>max)max=A[3][j];

}

cout<<endl<<"Максимальное количество голосов в четвёртом населённом пункте:"<<max;

cout<<endl;

system("pause");

}

  1. Тестування програми.

Рис.32 Результат тестування задачі 3.7.1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]