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

В матрице переставить столбцы от 0-4 и 0-6 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удаление из строки слов, длина которых меньше заданной http://www.cyberforum.ru/cpp-beginners/thread1059358.html
Удалить из строки слова,длина которых меньше заданной,решите пожалуйста,за ранее спасибо)))
C++ Структура для даты Здравствуйте, у меня возникла проблема, заключается она в дате. Подробнее: в программе у меня есть структура, в ней есть дата вида: 11.11.2011 . Ну, конечно, string и все дела, все нормально, но в... http://www.cyberforum.ru/cpp-beginners/thread1059357.html
Найти ошибку. Динамические массивы C++
Всем доброго времени суток! Прошу помочь найти ошибку в коде и разобраться с динамическими массивами =) Текст задания: Строка таблицы данных содержит следующую информацию о владельцах авто:...
C++ Сделать запрос по максимальному проценту
Пишу курсовую, помогите с одним участком кода #include <iostream> #include <ctype.h> #include <conio.h> #include <fstream> #include <windows.h> #include <string.h> #include <locale.h> using...
C++ Алгоритм решения рекурсивных функций http://www.cyberforum.ru/cpp-beginners/thread1059286.html
Цель: Прошу подсказать алгоритм решения рекурсивной функции. Задача:
C++ Проверка папки на пустоту Так как времени не было на это задание, пришлось сделать так: BOOL IsEmpty(const wchar_t* sPath) { HANDLE hFind; //дескриптор файла для "пробега" WIN32_FIND_DATAW FindFileData; //структура... подробнее

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

В матрице переставить столбцы от 0-4 и 0-6 - C++

28.12.2013, 14:07. Просмотров 268. Ответов 5
Метки (Все метки)

Здраствуйте, задача работает , но препод требует вывести исходный массив помимо получившегося. Помогите пожалуйста срочно(
Пробовал через print f matrix , не выходит(
исправьте код.

Код
#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 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru