Разработать функцию обнуления столбца в двумерном массиве. Обнулить 3 столбца. Результат вывести на печать. Согласно условию задачи, какие именно столбцы необходимо обнулить — не оговаривается. Например, в существующем решении этой задачи, обнуляются первые три четных столбца. Пример работы программы смотрим ниже:
#include <iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;
int zeroing(int **array, int row, int nocolumn); // прототип функции обнуления столбца в массиве
int main()
{
srand( time(NULL) );
const int rows = 10; // строки
const int columns = 8; // столбцы
// объявление двумерного динамического массива
int **array = new int* [rows]; // строки в массиве
for (int count = 0; count < rows; count++)
array[count] = new int [columns]; // столбцы
// заполнение массива случайными числами
for (int ix = 0; ix < rows; ix++)
for (int jx = 0; jx < columns; jx++)
array[ix][jx] = rand() % 100;
zeroing(array, rows, 2); // обнуление 2-го столбца
zeroing(array, rows, 4); // обнуление 4-го столбца
zeroing(array, rows, 6); // обнуление 6-го столбца
// вывод массива на экран
for (int ix = 0; ix < rows; ix++)
{
for (int jx = 0; jx < columns; jx++)
cout << setw(4) << array[ix][jx];
cout << endl;
}
return 0;
}
int zeroing(int **array, int row, int nocolumn) // функция обнуления массива
{
if (array == NULL) abort();
for(int ix = 0; ix < row; ix++)
array[ix][nocolumn - 1] = 0;
return 0;
}
Результат работы программы:
CppStudio.com
44 0 39 0 81 0 95 49
35 0 70 0 61 0 80 0
78 0 98 0 44 0 17 84
17 0 35 0 10 0 21 54
19 0 37 0 75 0 54 11
27 0 89 0 31 0 41 9
97 0 64 0 37 0 26 54
51 0 10 0 39 0 15 11
96 0 16 0 40 0 86 67
46 0 60 0 98 0 39 95
35 0 70 0 61 0 80 0
78 0 98 0 44 0 17 84
17 0 35 0 10 0 21 54
19 0 37 0 75 0 54 11
27 0 89 0 31 0 41 9
97 0 64 0 37 0 26 54
51 0 10 0 39 0 15 11
96 0 16 0 40 0 86 67
46 0 60 0 98 0 39 95
Комментарии
RodjeR
#include <iostream> #include <conio.h> #include <iomanip> using namespace std; int main(int argc, char* argv[]) { setlocale(LC_ALL, "rus"); srand((unsigned)time(NULL)); int matrix[7][7]; cout << "Исходный массив: " << endl; for (int i = 0; i < 7; i++) { cout << endl; for (int j = 0; j < 7; j++) { matrix[i][j] = rand() % 10; cout << setw(2) << matrix[i][j]; } } cout << "\n\n"; for (int i = 0; i < 7; i++) { cout << endl; for (int j = 0; j < 7; j++) { if (j % 2) matrix[i][j] = 0; cout << setw(2) << matrix[i][j]; } } _getch(); return 0; }