Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АиП -ЛР №2 - Массивы.doc
Скачиваний:
3
Добавлен:
13.09.2019
Размер:
91 Кб
Скачать
☆

Методичні вазівки

Одновимірний масив.

Заповнити масив з 20 елементів цілими випадковими числами в діапазоні від 5 до 20. Знайти серед них максимальне число і його номер в масиві.

#include "stdafx.h"

#include "iostream.h"

#include "stdlib.h" //библиотека для використання функції генерування //случайных чисел

int main(int argc, char* argv[])

{

int m[20]; //описываем масив з 20 елементів

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

{

m[n]=rand()%16+5; //в циклі заповнюємо випадковими числами від 5 до 20

//алгоритм генерирования случайных целых чисел

cout<<m[n]<<"\t"; //сразу виводиться елементи масиву через табуляцію

}

int max=0,num; //описываем змінні для зберігання максимуму і його //номера

for(n=0;n<20;n++)

{

if(m[n]>max){max=m[n];num=n;}

//якщо поточний елемент масиву більше значення, //хранящегося в змінній max, то записати його значення в //max і його номері в num.

}

cout<<"Maximum raven "<<max<<", on nahoditsja v "<<num<<" yachejke\n";

//виводимо на екран максимум і номер осередку, в якому він //хранится

return 0;

}

Двовимірний масив

Матрицю розміром n*m заповнити нулями і вивести відрядковий на екран.

Потім всі елементи, в яких будь-який з індексів m або n парний, заповнити одиницями.

Алгоритм.

Для прикладу візьмемо матрицю 5*5:

а11

а12

а13

а14

а15

а21

а22

а23

а24

а25

а31

а32

а33

а34

а35

а41

а42

а43

а44

а45

а51

а52

а53

а54

а55

Як видимий, елементи, закрашені сірим, мають парний номер m або n (n – номер рядка, m – номер стовпця).

Тепер напишемо програму, яка перебирає по черзі всі елементи матриці, перевіряючи їх індекси на парність, і заповнює відповідні осередки одиницями. Необхідно пам'ятати, що нумерація осередків масиву в Сі починається з нуля, що потрібно враховувати, додаючи одиницю до номерів.

#include "stdafx.h"

#include "iostream.h"

int main(int argc, char* argv[])

{

int const str=5;

int const col=5; //описали константи, що зберігають розмір матриці, щоб їх //можно було легко міняти в одному місці програми

int matr[str][col]; //описали двовимірний масив

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

{

for(int m=0;m<col;m++) //описали два вкладені цикли для перебору елементів //матрицы відрядковий

{matr[n][m]=0;

cout<<matr[n][m]<<"\t";

//у внутрішньому циклі заповнюємо матрицю нулями і виводиться //на екран

}

cout<<"\n"; //закончив рядок, перекладається на нову і переходиться до //следующему кроку зовнішнього циклу

}

for ( n=0;n<str;n++)

for( int m=0;m<col;m++)

{

if ((m+1)%2==0||(n+1)%2==0) matr[n][m]=1;

//у новому циклі перевіряємо на парність номери осередків, якщо //один з них парний, записуємо в осередок одиницю

}

cout <<"new matr\n";

for (n=0;n<str;n++)

{

for(int m=0;m<col;m++) //выводим на екран змінену матрицю

{

cout<<matr[n][m]<<"\t";

}

cout<<"\n";

}

return 0;

}

С++ надає стандартний

датчик ЦІЛИХ рівномірно розподілених псевдовипадкових чисел: якщо ви хочете отримати ціле число з інтервалу [A..B], використовуйте

int x = A + rand() % (B+1-A);