Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Двумерный массив.
Двумерные массивы Подготовил: Студент 2 курса группы «ИНФ 14-2» Попов Максим Проверила: Водолазкина Н.А. Алматы, 2015 Лабораторная работа №4 Тема работы: Двумерные массивы Цель работы: Освоение навыков работы с двумерными массивами: описание массивов, ввод и вывод элементов массива, использование массивов как параметров подпрограмм, использование указателей при работе с массивами. Оборудование рабочего места: · компьютер с загруженной программной средой Borland C Builder. Общие сведения: Двумерный массив. Многомерные массивы объявляются в программе так: тип имя_массива [размер1][размер2] … [размерN]; Например, двумерный массив можно объявить следующим образом: int A2 [10][3]; Этот оператор описывает двумерный массив, состоящий из 10 строк и 3 столбцов. Доступ к элементам массива осуществляется через индексы, каждый из которых заключается в квадратные скобки. Например, А2[3][2] – значение эле- мента, лежащего на пересечении четвертой строки и третьего столбца (помни- те, что индексы начинаются с 0). 2. Инициализация массивов В языке С существует несколько возможностей для задания начальных значений элементов массива. Самый простой способ инициализации следую- щий: в процессе объявления массива можно указать в фигурных скобках список начальных значений: int a[3][5]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; int a[3][5]={{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}}; Последние две записи эквивалентны. Количество инициализаторов не обязано совпадать с количеством элементов массива. Если инициализаторов меньше, то оставшиеся значения элементов массива не определены. Инициализации int a[3][5]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; и int a[3][5]={{1, 2, 3}, {4, 5, 6, 7, 8}, {9, 10, 11}}; различны. Соответствующие массивы будут заполнены следующим образом:
Персональное задание: Задан двумерный целочисленный массив А из N строк и N столбцов. Заменить элементы главной диагонали суммой наибольшего и наименьшего элементов. Переводим блок-схему на язык С++Builder #include < vcl.h> #pragma hdrstop #include < iostream> #include < math.h> #include < cstdlib> using namespace std;
//----------------------------------------------------------
#pragma argsused int main(int argc, char* argv[]) { int A[20][20], N, i, j, max, min, b; cout< < " Vvedite razmer massiva: "; cin > > N; cout< < endl< < " Massiv A: " < < endl; randomize(); for (i=0; i< N; i++) { for (j=0; j< N; j++) { A[i][j]=rand()%100; cout< < A[i][j]< < " "; } cout< < endl; } max=A[0][0]; for (i=0; i< N; i++) { for (j=0; j< N; j++) { if (A[i][j]> max) max=A[i][j]; } } cout< < endl< < " Max. element v massive: " < < max< < endl; min=A[0][0]; for (i=0; i< N; i++) { for (j=0; j< N; j++) { if (A[i][j]< min) min=A[i][j]; } } cout< < " Min. element v massive: " < < min< < endl; b=max+min; for (i=0; i< N; i++) { for (j=0; j< N; j++) { if (i==j) A[i][j]=b; } } cout< < endl< < " New massiv: " < < endl; for (i=0; i< N; i++) { for (j=0; j< N; j++) { cout< < A[i][j]< < " "; } cout< < endl; } system(" pause"); return 0; }
Результат выполнения программы:
|