|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
Новичок
Регистрация: 15.05.2014
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() #include <iostream> #include <iomanip> #include <stdlib.h> #include <time.h> using namespace std; void initMatrix(int[][7], const int, const int); void replaceColumn(int[][7], const int, int, int); void printMatrix(int[][7], const int, const int); int main() { const int column = 5, row = 7; int matrix[column][row]; int counter, result, columnMin; srand(time(NULL)); //инициализируем двумерный массив случайными величинами, //затем печатаем его initMatrix(matrix, column, row); cout << "\nNoSorted array" << endl << endl; printMatrix(matrix, column, row); //делаем проходы столько раз, сколько строк в массиве for(int N = 0; N < column - 1; N++) { result = row * 30; //анализируем массив и находим строку, //сумма элементов которой минимальная for(int i = N; i < column; i++) { //обнуляем счетчик суммы элементов строки counter = 0; //проходим по элементам данной строки //и считаем сумму for(int j = 0; j < row; j++) counter += matrix[i][j]; //result в итоге будет хранить значение минимальной суммы //columnMin будет хранить значение строки, в которой //была найдена минимальная сумма if(result > counter) { result = counter; columnMin = i; } } replaceColumn(matrix, row, N, columnMin); } //печатаем отсортированный массив cout << "\nSorted array" << endl << endl; printMatrix(matrix, column, row); return 0; } //инициализация двумерного массива void initMatrix(int matrix[][7], const int column, const int row) { for(int i = 0; i < column; i++) for(int j = 0; j < row; j++) matrix[i][j] = rand() % 30; } //меняем строки массива местами void replaceColumn(int matrix[][7], const int row, int N, int columnMin) { int buffer[row]; for(int j = 0; j < row; j++) { buffer[j] = matrix[columnMin][j]; matrix[columnMin][j] = matrix[N][j]; matrix[N][j] = buffer[j]; } } //печать двумерного массива void printMatrix(int matrix[][7], const int column, const int row) { for(int i = 0; i < column; i++) { for(int j = 0; j < row; j++) cout << setw(3) << matrix[i][j]; cout << endl; } } Вот эта часть кода непонятна , как вообще в цифрах она выражается //делаем проходы столько раз, сколько строк в массиве for(int N = 0; N < column - 1; N++) { result = row * 30; |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Ранее на форуме создавалось что то аналогично Двумерные массивы Двумерные массивы и процедуры PASCAL |
![]() |
#2 (permalink) |
VIP user
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
|
![]()
Ну хорошо, что разбираться пытаетесь!
У вас есть какие-то вопросы по ней ? |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|