Функция обнуления столбца двумерного массива

Уровень сложности:

Разработать функцию обнуления столбца в двумерном массиве. Обнулить 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
Следующие статьи помогут вам в решении данной задачи:
Автор: Marienko L.
Дата: 26.10.2012
Поделиться:

Комментарии

  1. 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;
    }

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.