Подпрограммы - C (СИ)
Формулировка задачи:
Найти количество 0 в матрице.
Вычитание из элементов нечетных столбцов значений элементов четных столбцов.
Вывести получившуюся матрицу.
Посмотрите код, что не так делаю?
#include <math.h> #include <stdio.h> #include <locale.h> #include <iostream> using namespace std; void vvod(int x[5][5]) { int i, j; for (i = 0; i <5; i++) { for (j= 0; j<5; j++) { x[i][j] = rand() % 100 - 50; } } } void vivod(int x[5][5]) { int i, j; for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { cout << x[i][j] << " \t"; cout << " \n"; } } } int kolic_0(int z[5][5]) { int i, j,kol=0; for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { if (z[i][j]==0) { kol = kol + 1; } } } return kol; } void chetn_minus_nechetn(int x[5][5]) { int i, j; for (int i = 0; i< 4; i++) { for (int j = 0; j < 5; j++) { if (i % 2 == 0) { x[j][i] = x[j][i] - x[j][i + 1]; } } } } int main() { setlocale(LC_ALL, "Rus"); int z[5][5] = { {5,11,6,1,9}, {14,5,95,0,8}, {5,23,56,9,81}, {4,8,9,0,7}, {5,18,19,3,2} }; int x[5][5]; vivod(z); kolic_0(z); cout << "\n"; cout << "Кол-во 0: " << kolic_0(z); cout << "\n"; cout << "Случайная матрица: \n"; vvod(x); vivod(x); cout << "\n"; cout << "Получившаяся матрица: \n"; chetn_minus_nechetn(x); system("pause"); return 0; }
Решение задачи: «Подпрограммы»
textual
Листинг программы
#include <math.h> #include <stdio.h> #include <locale.h> #include <iostream> using namespace std; void vvod(int x[5][5]) { int i, j; for (i=0; i<5; i++) { for (j=0; j<5; j++) { x[i][j] = rand() % 100 - 50; } } } void vivod(int x[5][5]) { int i, j; for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { cout << x[i][j] << " \t"; } cout << " \n"; } } int kolic_0(int z[5][5]) { int i, j,kol=0; for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { if (z[i][j]==0) { kol = kol + 1; } } } return kol; } void chetn_minus_nechetn(int x[5][5]) { int i, j; for (i=0; i<4; i++) { if (i % 2 == 0) { for (j=0; j<5; j++) { x[j][i] = x[j][i] - x[j][i + 1]; } } } } int main() { setlocale(LC_ALL, "Rus"); int z[5][5] = { {5,11,6,1,9}, {14,5,95,0,8}, {5,23,56,9,81}, {4,8,9,0,7}, {5,18,19,3,2} }; int x[5][5]; vivod(z); cout << "\n"; cout << "Кол-во 0: " << kolic_0(z); cout << "\n"; cout << "Случайная матрица: \n"; vvod(x); vivod(x); cout << "\n"; cout << "Получившаяся матрица: \n"; chetn_minus_nechetn(x); vivod(x); system("pause"); return 0; }
Объяснение кода листинга программы
- В функции
vvod()
генерируются случайные значения для элементов матрицыx[][]
в диапазоне от -50 до 50. - В функции
vivod()
выводятся на экран значения элементов матрицыz[][]
. - В функции
kolic_0()
подсчитывается количество нулевых элементов в матрицеz[][]
. - В функции
chetn_minus_nechetn()
выполняется операция вычитания элементов строк матрицыx[][]
с чётными индексами из элементов строк с нечётными индексами. - В функции
main()
создаётся матрицаz[][]
, инициализированная значениями 5х5. - Выводится на экран количество нулевых элементов в матрице
z[][]
. - Создаётся матрица
x[][]
, инициализированная значениями 5х5. - Выводится на экран случайная матрица
x[][]
. - Выводится на экран полученная матрица после операции вычитания в функции
chetn_minus_nechetn()
. - Программа ожидает нажатия любой клавиши, чтобы завершить работу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д