- •Лабораторная работа № 6. Алгоритмы работы со структурированными типами данных
- •Стандартные алгоритмы работы с одномерными массивами Теория
- •Примеры
- •Контрольные вопросы
- •Задания для лабораторной работы
- •Формирование массива Теория
- •Примеры
- •Контрольные вопросы
- •Задание для лабораторных работ
- •Двумерный массив Теория
- •Примеры
- •Контрольные вопросы
- •Задания для лабораторной работы
Примеры
Дан целочисленный двумерный массив. Определить сколько в этом массиве элементов больше среднего арифметического.
Исходные данные:
Целочисленный массив x, количество строкn, количество столбцовm.
Результат:
k- количество элементов больших среднего значения.
Среднее значение и количество элементов больших среднего вычисляется в функциях.
Дан двумерный массив 3 на 4 вещественных чисел. Переставить столбец, содержащий максимальный элемент с первым столбцом.
Исходные данные:
Двумерный массив dиз 3 строк и 4 столбцов.
Результат:
Преобразованный двумерный массивd.
# include <iostream>
# include <conio.h>
#include <locale>
using namespace std;
void vvod(int n,int m, int a[][4]);
void vivod(int n, int m, int a[][4]);
void maxij(int a[][4],int n,int m, int& mi, int& mj);
void obmen(int a[][4],int n,int x, int y);
void main()
{
setlocale(0, "");
int d[3][4];
int mi,mj;
cout<<"Введите элементы массива"<<endl;
vvod(3,4,d);
maxij(d,3,4,mi,mj);
obmen(d,3,0,mj);
cout<<"Двумерный массив"<<endl;
vivod(3,4,d);
_getch();
}
void vvod(int n,int m,int a[][4])
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>a[i][j];
}
void vivod(int n, int m, int a[][4])
{
for(int i=0;i<n;i++,cout<<endl)
for(int j=0;j<m;j++)
cout<<a[i][j]<<"\t";
}
void maxij(int a[][4],int n,int m, int& mi, int& mj)
{mi=0;
mj=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if (a[i][j]<a[mi][mj])
{mi=i;
mj=j;
}
}
void obmen(int a[][4],int n,int x, int y)
{int b;
for(int i=0;i<n;i++)
{b=a[i][x];
a[i][x]=a[i][y];
a[i][y]=b;
}
}
Дан двумерный массив целых чисел. Просуммировать элементы стоящие до первого нуля. Просмотр выполнять по строкам.
Исходные данные:
Двумерный массив aразмером 4 на 4.
Результат:
s– сумма элементов предшествующих первому нулевому элементу.
Задание 3.Написать и отладить программы для примера 16.
Контрольные вопросы
Сколько элементов в массиве размером 4 на 5
Какое условие выполняется для элементов ниже главной диагонали.
Можно ли в Примере 15 вместо void-функцииMaxиспользовать функцию.
Укажите параметры по ссылке и параметры по значению в void-функцииobmenиз Примера 15.
Можно ли в Примере 16 обойтись без признака нулевого элемента k.
Задания для лабораторной работы
Дан двумерный массив целых чисел из 4 столбцов и 3 строк. Переставить местами строку, содержащую минимальный элемент и последнюю строку..
Дан двумерный массив вещественных чисел из 3 столбцов и 4 строк. Найти, сколько в каждом столбце отрицательных элементов.
Дан двумерный массив вещественных чисел из 4 столбцов и 3 строк. Найти сумму максимальных элементов каждой строки.
Дан двумерный массив целых чисел из 4 столбцов и 4 строк. Найти сколько нулей находится выше главной диагонали.
Дан двумерный массив целых чисел из 4 столбцов и 3 строк. Найти максимальный элемент в массиве и заменить его нулем.
Дан двумерный массив вещественных чисел из 3 столбцов и 4 строк. Все элементы в массиве стоящие после минимального элемента заменить первым элементом. Замену выполнять по строкам.
Дан двумерный массив вещественных чисел из 4 столбцов и 3 строк. Первый элемент в каждом столбце заменить на среднее арифметическое от всех элементов массива.
Дан двумерный массив целых чисел из 4 столбцов и 4 строк. Все элементы главной диагонали заменить на сумму элементов в данном массиве, имеющих четное значение.
Дан двумерный массив вещественных чисел из 4 столбцов и 3 строк. Поменять местами первый столбец и столбец и столбец, где находится максимальный элемент массива. Вывести массив по строкам до и после перестановки.
Дан двумерный массив целых чисел из 4 столбцов и 4 строк. Найти минимальный элемент в первой половине массива (просмотр вести по строкам) и во второй половине массива. Поменять местами эти минимальные элементы массива.
Дан двумерный массив целых чисел из 4 столбцов и 3 строк. Найти сумму элементов в этом массиве стоящих после первого нуля..
Дан двумерный массив целых чисел из 4 столбцов и 3 строк. Найти максимальный элемент среди отрицательных элементов этого массива. Вывести массив по строкам.