Методичні вказівки до виконання практичних та лабораторних робіт з курсу «Обчислювальна техніка та програмування», страница 12

19. Відсортувати елементи головної діагоналі матриці (багатовимірного  вектора) 6x6 елементів за зростанням.

20. В векторі V[23] знайти максимальний елемент і вивести всі числа, розташовані до нього, в один рядок, а числа розташовані після нього, в інший рядок.

21. Заповнити квадратну матрицю (багатовимірного  вектора) 8x8 елементів одиницями в шаховому порядку.

22. Знайти суму парних елементів багатовимірного  вектора V[4][4], розташованих нижче головної діагоналі.

23. Знайти твір додатних елементів другого рядка (вектора) матриці (багатовимірного вектора) V[4][4] і кількість всіх від’ємних  елементів.

24. Всі, що зустрічаються більш одного разу  елементи вектору V[25] переписуються в інший вектор.

25. В векторі V[23] числа, що знаходяться між максимальним і мінімальним елементами помістити в інший вектор.

26. Дані два вектори G[15] та H[10]. Сформувати вектор, що складається з однакових елементів цих векторів.

27. Знайти суму непарних елементів багатовимірного  вектора V[4][4], розташованих вище головної діагоналі.

28. Відсортувати елементи побічної діагоналі матриці (багатовимірного вектора) 6x6 елементів за зростанням.

29. Змінити місцями задані в діалозі рядки матриці (багатовимірного вектора).

30. Звести в квадрат всі від’ємні елементи багатовимірного  вектора B[6][6] і витягти корінь з всіх додатних.

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

1. Які форми доступу до елементів масиву передбачені синтаксисом мови С++?

2. Які передбачені засоби ініціалізації векторів?

3. Якою вимірності можуть бути вектори?

4. Чи можуть  бути проголошені масиви без вказівки кількості елементів?

5. Чи може масив містити елементи різноманітних типів?

6. Чи передбачений контроль кількості елементів масиву?

8.   Який зв'язок між масивами і покажчиками?

3 РІШЕННЯ ЗАДАЧ ІЗ ВИКОРИСТАННЯМ СТРУКТУР

    3.1 Мета роботи

      Вивчити і освоїти прийоми розробки програм з використанням структур.

    3.2 Підготовка до роботи

       Необхідно ознайомитися з основними складеними типами даних (перерахування, суміш, структура) [1, с. 150-164; 2, ç. 110-114; конспект лекцій].

Структура - упорядкована сукупність довільних типів даних, об'єднаних в одній області пам'яті. Тип структури вводиться описом наступного вигляду

struct [ім’я_struct] {тип 1 ім’я_поля 1;

Тип 2 ім’я_поля 2;

Тип n ім’я_поля n;};

Де ім’я_struct - ім'я структури шаблону, що задовольнить правилам завдання ідентифікаторів мови C++; тип 1, тип 2,..., тип n - будь-які призначені типи;

Ім’я_поля 1,..., ім’я_поля n - ідентифікатори полів, що задовольняють правилам завдання ідентифікаторів. Наприклад:

struct tovar {char name [10];

char nazn [15];

int time;

int price;}

         Опис структури являє собою завдання нового типу struct ім’я_struct і не призводить до виділення пам'яті, а лише дасть інформацію компілятора про типи і кількість полів. Ця інформація використовується компілятором при описі структурованих змінних для резервування необхідного місця в пам'яті і організації доступу до необхідних полів структурної змінної.

Опис структурної змінної складається з завдання типу та імені структурної змінної, і має вигляд

struct [ім’я_struct] ім’я_var_struct;

Слідує помітити, що в С++ (версії 4.5 і вище) допускається після оголошення структури використати ім'я структурної змінної (ім’я_struct) як ім'я типу. Наприклад:

Ім'я_struct ім'я_var_struct;

         В мові C допускається суміщення опису шаблону структури і структурних змінних. Наприклад:

struct tovar1 {char name [10];

longint price; }tov1, tov2;,

де tov1, tov2 - найменування структурних змінних (tov1, tov2 - змінні типу struct tovar1). Доступ до полів структурних змінних виробляється за допомогою оператора«.», що формує заслання на потрібне поле_i структурної змінної і має вигляд -