Другие языки программирования и технологии

C++ -Дана целочисленная матрица

Помогите пожалуйста:
Дана целочисленная матрица mxk. Найти минимальное значение для верхней половины матрицы и максимальное значение для нижней половины. Сформировать новую матрицу путем прибавления к каждому элементу верхней половины исходной матрицы определенного для нее минимального значения и к каждому элементу ее нижней половины определенного для нее максимального значения.
#include "stdafx.h"
#include "iostream"
#include "ctime"
using namespace std;
int main()
{
 srand(time(NULL));
 int i, j, m, k, max, min;
 cout << "M = ";
 cin >> m;
 cout << "K = ";
 cin >> k;
 int **mxk = new int*[m];
 for (i = 0; i < m; i++)
  mxk[i] = new int[k];
 for (i = 0; i < m; i++)
 {
  for (j = 0; j < k; j++)
  {
   mxk[i][j] = rand() % 100;
   printf("%3d", mxk[i][j]);
   if ((i == 0) && (j == 0))
   {
    min = mxk[i][j];
   }
   else
   {
    if ((i < m / 2) && (mxk[i][j] < min))
    {
     min = mxk[i][j];
    }
   }
   if ((i == m / 2) && (j == 0))
   {
    max = mxk[i][j];
   }
   else
   {
    if ((i >= m / 2) && (mxk[i][j] > max))
    {
     max = mxk[i][j];
    }
   }
  }
  cout << endl;
 }
 cout << endl;
 for (i = 0; i < m; i++)
 {
  for (j = 0; j < k; j++)
  {
   if (i < m / 2)
   {
    mxk[i][j] += min;
   }
   else
   {
    mxk[i][j] += max;
   }
   printf("%4d", mxk[i][j]);
  }
  cout << endl;
 }
 for (i = 0; i < m; i++)
  delete[] mxk[i];
 delete[] mxk;
 cin.get();
 cin.get();
 return 0;
}
ИД
Иван Давиденко
80 433
Лучший ответ
Виталий Бобков Спасибо большое!
нихеррасе! Работает!
Иван Давиденко Где проверял-то? ;-)

Похожие вопросы