Форум программистов, компьютерный форум, киберфорум
Наши страницы

Прокомментировать код программы на перестановку матриц - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Необходимо добавить цикл поиска главного элемента по столбцу. никак не получается http://www.cyberforum.ru/cpp-beginners/thread1050225.html
Нужно,чтобы был выбор программа искала максимальный элемент по столбцу и ставила его на 1 место....никак не могу добавить ........... #include <iostream> using namespace std; void...
C++ Необходимо дать описание каждой строки кода с++ Имеется код, который максимальный элемент в массиве заменяет средним арифметическим элементов строки. Необходимо дать описание каждой строки кода. Спасибо:) #include <iostream> #include... http://www.cyberforum.ru/cpp-beginners/thread1050220.html
C++ Написать класс, для нахождения суммы обыкновенных дробей с выделенной целой частью
Написать класс, для нахождения суммы обыкновенных дробей с выделенной целой частью. Ограничения:перегрузка операции "+" для нахождения суммы дробей; перегрузка операций потокового ввода и вывода для...
Не удается открыть файл include: stdafx.h: No such file or directory C++
В общем, нужно скомпилировать программу: #include "stdafx.h" #include <iostream> #include<math.h> #include <iomanip> using namespace std; {setlocale (LC_ALL,"Russian"); double n=4; cin>>n;
C++ Добавление и удаление объектов с перегрузкой операторов '+' и '-' http://www.cyberforum.ru/cpp-beginners/thread1050196.html
У нас есть массив указателей на объекты, и нужно осуществить добавление и удаление объектов с помощью перегрузки оперторов '+' и '-'. Есть 2 функции для добавления и удаления соответственно: bool...
C++ необходимо ввести неограниченое количество чисел в диапазоне 5;-5 необходимо ввести неограниченое количество чисел в диапазоне 5;-5 концом программы считать выход за границы диапазона, буду очень благодарен любой помощи подробнее

Показать сообщение отдельно
blancoross1
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 53

Прокомментировать код программы на перестановку матриц - C++

20.12.2013, 21:51. Просмотров 146. Ответов 0
Метки (Все метки)

Мира всем!)
Имеется задача , имеется представление о том, как она работает , но нет полной понятности. Прошу прокомментировать каждую строчку кода, т.е. "разжевать".

Текст: B матрице С[0..4,0..6] переставить столбцы по возрастанию сумм столбцов матрицы.

#include <iostream>
#include <math.h>
const int c_rows = 4;
const int c_cols = 6;
int GetIndex(int row, int col, int rows = c_rows)
{
return col*rows + row;
}
int Summ(int matrix[], int col, int rows = c_rows)
{
int res = 0;
for (int row=0; row<rows; ++row)
{
res += matrix[GetIndex(row, col)];
}
return res;
}
int main()
{
//matrix = {r1c1, r2c1, r3c1, r4c1, r1c2 ...}
int matrix[c_rows*c_cols];
for (int index=0; index<c_cols*c_rows; ++index)
matrix[index] =round(fabs(sin(index)*10000)) + 10000;
for (int col=0; col<c_cols; ++col)
{
int maxcol = col;
for (int col2=col+1; col2<c_cols; ++col2)
if (Summ(matrix, maxcol)>Summ(matrix, col2))
maxcol = col2;
if (maxcol != col)
for (int row=0; row<c_rows; ++row)
{
int mem = matrix[GetIndex(row, col)];
matrix[GetIndex(row, col)] = matrix[GetIndex(row, maxcol)];
matrix[GetIndex(row, maxcol)] = mem;
}
}
std::cout << "Matrix:\n";
for (int row=0; row<c_rows; ++row)
{
for (int col=0; col<c_cols; ++col)
std::cout << matrix[GetIndex(row, col)] << " ";
std::cout << "\n";
}
std::cout << "Summs:\n";
for (int col=0; col<c_cols; ++col)
std::cout << Summ(matrix, col) << " ";
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.