17538

Дослідження багатовимірних масивів на С++

Лабораторная работа

Информатика, кибернетика и программирование

ЛАБОРАТОРНА РОБОТА № 7 Дослідження багатовимірних масивів на С. Мета лабораторної роботи – ознайомитися з основними принципами роботи з багатовимірними масивами. Теоретичні положення Багатовимірний масив – це масив який має дві чи більше розмірност

Украинкский

2013-07-04

184 KB

3 чел.

ЛАБОРАТОРНА  РОБОТА № 7

Дослідження багатовимірних масивів на С++.

Мета лабораторної  роботи – ознайомитися з основними принципами роботи з
багатовимі
рними масивами.

  1.  Теоретичні положення

Багатовимірний масив – це масив, який має дві чи більше розмірностей, а доступ до окремого елементу реалізовується в ньому за допомогою вказівок двох чи більше індексів.

Приклади

int d [10][20]; //масив розмірністю 10 рядків в яких 20 елементів.

Елементи двовимірного масиву визначаються іменем масиву та двома індексами: перший індекс означає номер рядка, а другий - номер стовпця, на перетині яких стоїть елемент.

Наприклад,

int a[2][3];  /*  матриця, представлена у вигляді

a[0][0]  a[0][1] a[0][2]

a[1][0]  a[1][1] a[1][2]  */

int w[3][3] = {{2,3,4},

              {3,4,8},

              {1,0,9}};

В останньому прикладі оголошений масив w[3][3]. Списки, виділені у фігурні дужки, відповідають рядкам масиву; у випадку відсутності дужок ініціалізація буде виконана неправильно.

Масиву виділяється пам'ять, необхідна для розміщення всіх його елементів. Елементи масиву з першого до останнього розміщуються в послідовних комірках пам'яті (по зростанню адрес). Між елементами масиву в пам'яті розриви відсутні. Елементи багатомірного масиву запам'ятовуються порядково.

Для того, щоб створити двовимірний масив  цілих чисел 10х12 на ім’я A потрібно написати наступне твердження:

int A[10][12];

Наприклад, наступна програма завантажує масив 4х5 добутком індексів цього масиву на С++, а потім виводить масив на екран у форматі рядків та стовпчиків.

#include <iostream>

using namespace std;

void main()

{   

int twod[4][5];

int i, j;

for(i=0; i<4; i++)

  for(j=0; j<5; j++)

     twod[i][j] = i*j;

for(i=0; i<4; i++)

  {      

   for(j=0; j<5; j++)

   cout<<twod[i][j]<<” ”;

cout<<”\n”;

  }

}

Програма виведе на екран наступну таблицю:

0  0  0  0  0

0  1  2  3  4

0  2  4  6  8

0  3  6  9  12

Обробка  елементів масиву

Обробка елементів масиву виконується в циклі, індекси елементів циклу є параметрами циклу. Для обробки багатовимірних масивів використовуються вкладені цикли.

Приклади:

  1.   ввід з клавіатури елементів масиву A[M][N]:

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

 for ( j = 0; j < M; j++ ) {

   cout<<"A["<<i<<"]["<<j<<"]=";

   cin>>A[i][j];

   }

  1.  заповнення випадковими числами:

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

 for ( j = 0; j < M; j++ )

   A[i][j] = rand()%25- 10

  1.  вивід на екран:

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

 for ( j = 0; j < M; j++ )

   cout<<A[i][j]<<"  ";

 cout<<"\n";

 }

  1.  вивід на екран головну діагональ квадратної матриці з N рядків і N стовпців:

  1.  вивід на екран другу діагональ квадратної матриці з N рядків і N стовпців:

 

2.  Варіанти завдань

  1.  Ввести матрицю розмірності  m  n. Кожен елемент матриці домножити на мінімальний елемент у поточному стовпці. Вивести вихідну і отриману матриці.
  2.  Ввести дві матриці розмірності  m  n. Визначити, у якої матриці середнє арифметичне більше.
  3.  Ввести матрицю розмірності  m  n. Визначити її середнє арифметичне. Знайти координати елемента матриці, найближчого до середнього арифметичного.
  4.  Ввести матрицю розмірності  m  n. Знайти максимальний елемент матриці і його координати (індекс стовпця і індекс рядка).
  5.  Ввести матрицю розмірності  m  n. Знайти мінімальний її елемент і його координати (індекс стовпця і індекс рядка).
  6.  Ввести матрицю розмірності  m  n. Знайти максимальний її елемент елемент і його координати (індекс стовпця і індекс рядка).
  7.  Ввести квадратну матрицю. Знайти суму елементів, що лежать її головних  діагоналях.
  8.  Ввести дві матриці розмірності  m  n. Визначити їхню поелементну суму (результат записати в нову матрицю). Вивести вихідні і отриману матриці.
  9.  Ввести квадратну матрицю і число k. Розділити елементи k-го рядка матриці на діагональний елемент цього рядка. Вивести вихідну і отриману матриці.
  10.  Ввести матрицю розмірності  m  n  і число k. До елементів k-го рядка матриці додати відповідні елементи її 1-го рядка. Вивести вихідну і отриману матриці.
  11.  Ввести матрицю розмірності  m  n. Кожен елемент матриці домножити на максимальний елемент у поточному рядку. Вивести вихідну і отримані матриці.
  12.  Ввести матрицю розмірності  m  n і число k. Видалити k-й рядок з матриці. Вивести вихідну і отриману матриці.
  13.  Ввести матрицю розмірності  m  n і число k. Видалити k-й стовпець із матриці. Вивести вихідну і отриману матриці.
  14.  Ввести матрицю розмірності  m  n. Кожен елемент матриці домножити на мінімальний елемент у поточному рядку. Вивести вихідну і отримані матриці.
  15.  Ввести матрицю розмірності  m  n. Знайти суму елементів у кожному рядку. Результат записати в одновимірний масив. Вивести вихідну матрицю і отриманий одновимірний масив.
  16.  Ввести матрицю розмірності  m  n. Знайти рядок, сума елементів якого максимальна. Вивести вихідну матрицю і знайдений рядок.
  17.  Ввести матрицю розмірності  m  n. Знайти суму елементів у кожному стовпці. Результат записати в одновимірний масив. Вивести вихідну матрицю і отриманий одновимірний масив.
  18.  Ввести матрицю розмірності  m  n. Підрахувати суму елементів непарних рядків, записати результат в одновимірний масив.
  19.  Ввести квадратну матрицю. Знайти суму елементів тих рядків, у яких на головній діагоналі знаходяться від’ємні числа.
  20.  Перетворити матрицю так, щоб всі її елементи нижче головної діагоналі стали нульовими. Вивести вихідну і отриману матриці.
  21.  Ввести матрицю розмірності  m  n. Замінити всі її від’ємні елементи нулями. Підрахувати кількість замін. Вивести вихідну і отриману матриці.
  22.  Ввести квадратну матрицю. Поміняти місцями максимальний і мінімальний елементи її головної діагоналі. Вивести на екран обидві матриці.
  23.  Ввести матрицю розмірності  m  n. Підрахувати суму елементів парних рядків, записати результат в одновимірний масив.
  24.  Ввести матрицю розмірності  m  n і число k. Ті елементи масиву, які менші за k, замінити нулями. Вивести вихідну і отриману матриці.
  25.  Ввести матрицю розмірності  m  n. Знайти рядок, сума елементів якого мінімальна. Вивести вихідну матрицю і знайдений рядок.
  26.  Ввести матрицю розмірності  m  n. Змінити її так, щоб всі елементи вище головної діагоналі стали нульовими. Вивести вихідну і отриману матриці.
  27.  Ввести матрицю розмірності  m  n. Кожен елемент матриці домножити на максимальний елемент у поточному стовпці. Вивести вихідну і отримані матриці.
  28.  Ввести матрицю розмірності  m  n. Видалити її рядки і стовпці, що складаються з від’ємних елементів. Вивести вихідну і отриману матриці.
  29.  Ввести квадратну матрицю. Знайти суму елементів тих рядків, у яких на головній діагоналі знаходяться від’ємні числа.
  30.  Ввести матрицю розмірності  m  n. Видалити рядок матриці, що містить її максимальний елемент. Вивести вихідну і отриману матриці.

Контрольні питання

1. Дайте визначення типу даних та масиву. Які бувають види масиву.

2. Дайте визначення багатовимірного та одновимірного масиву.

3. Дайте визначення вказівнику

4. Виділити пам’ять для масиву, який містить 5 стовпців, 6 стрічок.

5. Перевірити чи  другий елемент у третьому рядку додатній.


 

А также другие работы, которые могут Вас заинтересовать

20143. Контрольные испытания по методу последовательного анализа 392 KB
  Если говорить о испытаниях основанных на обработке некоторого заранее запланированного объема информации то там результат обработки сравнивают с заданным показателем надежности и на основании сравнения делается вывод либо о соответствии либо о несоответствии полученных и требуемых результатов. есть основания считать что изделие удовлетворяет требования по надежности; б прекратить испытания т. есть основания считать что изделие не удовлетворяет требованиям по надежности; в продолжить испытания т. нет основания для вывода по...
20144. Методы исследовательских испытаний на надёжность 27 KB
  для исследования надёжности приборов значение имеют неразрушающие методы испыт: метод акустической эмиссии кот. методы базир. методы базир. методы ультразвук.
20145. Определение оптимального уровня надежности 324.5 KB
  С=СрСпСэ Ср – затраты на разработку; Сп – затраты на производство; Сэ – затраты на эксплуатацию. Из приведенного графика видно что с ростом безотказной работы увеличиваются затраты на эксплуатацию.
20146. ПРЯМАЯ И ОБРАТНАЯ ЗАДАЧА ТЕОРИИ ТОЧНОСТИ 34 KB
  Многообразие направлений рассмотрения вопросов точности измерительных устройств в значительной мере определяющих погрешность измерения можно отнести к трем стадиям: Проектирование Производство Эксплуатация При проектировании осуществляется обеспечение точности при котором решаются прямая или обратная задача теории точности. Задачи теории точности: Прямая задача синтеза – выбор структуры устройства определение номинальных значений параметров пределов их допустимых значений номинальных отклонений т. Изучение методов решения прямой и...
20147. Однокоординатные механические приборы, работающие по принципу сравнения со штриховой мерой 125 KB
  Объединяет все штангенприборы единая конструкция отсчетных устройств основанных на применении линейного нониуса. Принцип действия нониуса состоит в совмещении соответствующих штрихов двух линейных шкал интервалы деления которых отличаются на определенную величину. Конструкция нониуса использует то обстоятельство что невооруженный человеческий глаз не способный непосредственно количественно оценивать малые значения несовмещения штрихов в то же время способен фиксировать наличие весьма малых смещений двух штрихов от их симметричного...
20148. Оптико-механические однокоординатные приборы, работающие по принципу сравнения со штриховой мерой 696.5 KB
  Длинномеры Окулярные длинномеры Спилярный окулярный микрометр В спиральном окулярном микрометре вместо микрометрической пары используется спиральная сетка с помощью которой определяются доли интервалов основной шкалы. Отсчетная часть Поток лучей от источника 1 с изображением штрихов основной шкалы 6 проходит объектив 7 проходит неподвижную пластину 8 со шкалой имеющей интервал 01мм. В месте изображения штрихов основной шкалы 6 и неподвижной шкалы 8 круговой шкалы 10 и витков двойной спирали поток лучей попадает в окуляр 11. В эту...
20149. Электрические и оптоэлектронные приборы, работающие по принципу сравнения со штриховой мерой 138.5 KB
  Длинномеры с аналоговым преобразованием. Длинномеры обеспечивают дискретность перемещения порядка 001002 мм за счет электронного интерполирования. Для линейных измерений преимущественное применение находят дифференциальные индуктивные длинномеры. Такие длинномеры содержат уже 2 сердечника 1 и 2 которые смещены относительно друг друга на величину Т 22к1 где к=1234 Тогда при перемещении якоря 3 относительно сердечников полное сопротивление Z и Zкатушек будут изменяться по закону близкому к синусоидальному причем эти зависимости...
20150. Однокоординатные механические приборы, работающие по принципу сравнения с концевой мерой 285 KB
  i=l2 l1 зубчатые головки шаг t=πm радиус R=mz 2 i=z2 z12Rстр mz3 погрешность колеблется 816 мкм. Если растягивать ленточку сечением 8x100 мкм на 1 мкм то стрелка повернётся на 30; если 5x80 мкм то на 70. Стрелочка – стеклянная трубочка у основания 60 мкм а у вершины 20 мкм на конце находится стрелочный указатель из алюминиевой фольги. Погрешность приборов: 08 мкм.