Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник 357.docx
Скачиваний:
27
Добавлен:
30.04.2022
Размер:
1.75 Mб
Скачать

18.4 Практические задания

1. Напишите функцию, которая меняет значения переменных a, b, c местами так, чтобы a>b>c. Для этого в основной программе объявите:

int a, b, c;

Организуйте ввод значений пользователем.

Опишите дополнительную функцию change (&a, &b); для замены значений переменных a>b.

Вызовите ее в основной программе необходимое число раз с соответствующими параметрами.

Продемонстрируйте результат работы программы с использованием последовательного отображение переменных в основной программе.

2. Для одномерного массива произвольной размерности напишите пять отдельных функций: вычисления среднего значения, определения максимального и минимального значения, подсчет количества элементов больших и равных заданному значению. Протестируйте работу этих функций на случайном наборе вещественных значений.

3. Разработайте программу работы с прямоугольной матрицей

Для этого:

А) Объявите указатель на двухмерный массив:

int** pMat

Организуйте ввод размерности матрицы с клавиатуры

printf("Введите количество строк: ");

scanf("%d", &n);

printf("Введите количество столбцов: ");

scanf("%d", &m);

Б) Выделите память для массива:

*pMat=malloc(sizeof(int)*n);

for(inti = 0; i<n; i++) //цикл выделения памяти под каждую строку массива

pMat [i] = malloc(sizeof(int)*m);

Заполните массив случайными числами.

В) Напишите функцию подсчета отрицательных элементов в строках, которые содержат хотя бы один нулевой элемент:

int count_negatives (int **p, int n, int m)

{

int j, i = 0;

int count = 0;

bool flag; //флаг о нахождения один нулевой элмент в строке

while (i < n)

{

flag = false;

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

if (p[i][j]==0)

{

flag = true;

break;

}

if (flag)

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

if (p[i][j] < 0)

count++;

i++;

}

return count;}

Г) Напишите функцию вывода элементов массива:

arrprint(p, n, m);// p – указатель на массив

Д) Организуйте вызов функций и убедитесь в работоспособности программы.

18.5 Контрольные задания

1. Составить программу, которая формирует двумерный массив, каждый элемент которого равен сумме его индексов.

2 .Составить программу, которая формирует двумерный массив и вычисляет значение среднего арифметического его элементов.

3. Составить программу, которая формирует двумерный массив и транспонирует его.

4. Составить программу, которая формирует двумерный массив и вычисляет сумму элементов каждого столбца.

5. Найти максимальный элемент в двумерном массиве и заменить его значение значением суммы его индексов.

6. Создайте двумерный массив целых чисел. Удалите из него строку и столбец, на пересечении, которых расположен минимальный элемент.

7. Дана матрица С. Заменить каждый элемент, лежащий на главной диагонали, наибольшим элементом соответствующей строки, и вывести полученную матрицу на экран.

8. Дана матрица С, состоящая из положительных и отрицательных элементов. Вместо отрицательных элементов в матрицу записать нули и подсчитать их количество. Вывести полученную матрицу и количество замен на экран.

9. Дана матрица F. Найти наибольший элемент матрицы. Поделить на этот элемент строку, где он расположен. Полученную матрицу вывести на кран.

10. Дана матрица A. Если элемент главной диагонали в строке положителен, строку оставить без изменений. В противном случае сменить знаки всех элементов строки на противоположные. Полученную матрицу вывести на экран.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]