Лабораторная работа №6 Работа с матрицами



бет1/2
Дата17.11.2022
өлшемі83 Kb.
#50807
түріЛабораторная работа
  1   2
Байланысты:
Лабораторная работа6


Лабораторная работа №6
Работа с матрицами
1. Цель работы
Целью лабораторной работы является получение практических навыков в работе с матрицами в языке C++.
2. Задачи работы
Освоить следующие темы:

  • Операторы цикла языка C++. Вложенные циклы.

  • Условный оператор языка C++.

  • Матрицы.

3. Содержание работы
1. Создать квадратную матрицу целых чисел размером 9х9. В индивидуальных заданиях указано, какую обработку матрицы требуется выполнить.
Если по условию задания матрицу следует заполнить случайными числами, рекомендуем выбирать эти числа из диапазона 0 - 99. Если по условию задания в матрицу следует записать ЛП - линейную последовательность чисел, имеется в виду последовательность: 1, 2, 3, ...
2. Вывести на печать исходные данные и результат.


4. Порядок выполнения работы

1. Двумерные массивы


Подробно этот пункт раскрыт в указаниях к лабораторной работе № 1. Вспомним основные моменты при работе с многомерными (двумерными) массивами.


Для того чтобы элементы матрицы располагались один под другим, используется манипулятор setw(), устанавливающий для очередного выводимого значения ширину поля. Для использования манипулятора необходимо подключить заголовочный файл . В массивах, определенных с помощью операторов описания, обе размерности должны быть константами или константными выражениями. Массив хранится по строкам в непрерывной области памяти. Первый индекс – номер строки, второй – номер столбца. Каждый индекс может изменяться от 0 до значения соответствующей размерности, уменьшенной на единицу. При описании массива можно в фигурных скобках задать начальные значения его элементов.

2. Разбор типового варианта


Заполнить матрицу случайными числами. Отобразить главную и побочную диагонали симметрично относительно вертикальной оси.


Вначале (первый блок программы) необходимо заполнить матрицу случайными числами и вывести ее на экран. Это можно сделать с помощью двух вложенных циклов.
Затем (второй блок) – отобразить главную и побочную диагональ симметрично вертикальной оси. Обозначим размерность матрицы как S, номер строки как i, а номер столбца как j, и заметим, что нумерация строк и столбцов будет начинаться с 0, отсюда можно определить, что если элементы главной диагонали имеют индексы [i][i], то соответствующие элементы побочной диагонали имеют индексы [i][S-1-i]. Следовательно, алгоритм может состоять из перебора матрицы строка за строкой и сменой соответствующих элементов главной и побочной диагоналей местами (с помощью вспомогательной переменной).
Затем (третий блок) необходимо вывести на экран элементы новой матрицы.

#include


#include
#include

main() {
const int s = 9;


int A[s][s];
short i,j,x;
clrscr();
randomize();
printf("\nPervonachalnaya matrica:\n\n");
for(i=0;i//заполняем и выводим матрицу -1-й блок
for(j=0;jA[i][j]=random(100);
printf("%3d",A[i][j]);
}
putchar('\n');
}
for(i=0;i//меняем диагонали – 2-й блок
x=A[i][i];
A[i][i]=A[i][s-1-i];
A[i][s-1-i]=x;
}
printf("\nNovaya matrica:\n\n");
for(i=0;i//выводим результирующую матрицу – 3-й блок
for(j=0;jprintf("%3d",A[i][j]);
putchar('\n');
}

getchar();


return 0;
}




Достарыңызбен бөлісу:
  1   2




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет