Форум программистов, компьютерный форум CyberForum.ru

найти любой прямоугольник этой матрицы с наибольшей суммой - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Оператор сравнения http://www.cyberforum.ru/cpp-beginners/thread729340.html
Надо написать программу, которая переводит фунты в стоуны, используя класс. Класс содержит перегруженные операторы мат. операций (сложение, вычитание и умножение). Также прога должна создать массив объектов класса размером в 6 ячеек, инициализировать 3 из них, и найти минимальный и максимальный элементы. Короче, вот код: Класс: #ifndef _STONEWT_H_ #define _STONEWT_H_ class Stonewt {...
C++ Агрегированние Разработать класс SqArrayOfINT - двумерный массив целых чисел. Физически данный массив должен состояить из вектора массивов типа ArrayOfInt Размерность массива задавать в конструкторе. Реализовать метод доступа к элементам массива. Реализовать метод Sum - вычисление суммы чисел в массиве. Метод сортировки массива по возрастанию и по убыванию, метод сравнения двух массивов(==, !=) Метод... http://www.cyberforum.ru/cpp-beginners/thread729339.html
Разработка основы класса C++
Есть такое задание, не могу разобраться. Помогите, пожалуйста. Разработать структуру элементов данных класса в виде динамической структуры данных (динамический массив, список, массив указателей). Разработать: * конструкторы для различных типов входных данных (без параметров, параметр-строка, параметр-массив), конструктор копирования (объект из объекта) и деструктор; * методы вывода и ввода...
C++ Вычислить сумму только отрицательных из 3 чисел
Вычислить сумму только отрицательных из 3 чисел Помогите очень нужна на завтра!
C++ задача по массивам с указателем с++(Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки) http://www.cyberforum.ru/cpp-beginners/thread729320.html
Задана матрица С(5,5). Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки
C++ Дано натуральное n. Верно ли, что это число содержит более k одинаковых цифр? Помогите пожалуйста!!!! Нужно решить задачу на зыке с++, для среды программирования СodeBloks. Дано натуральное n. Верно ли, что это число содержит более k одинаковых цифр? подробнее

Показать сообщение отдельно
ss-20
 Аватар для ss-20
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 25
12.12.2012, 19:38     найти любой прямоугольник этой матрицы с наибольшей суммой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
     
/*Задача: заполнить матрицу случайными числами, в том числе и отрицательными
найти любой прямоугольник этой матрицы с наибольшей суммой.
зы.не могу понять ошибку свою*/
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <conio.h>
 
using namespace std;
 
 int main()
 {
 srand (time(NULL));
 
 const int N=100;
 const int M=100;
 
 int a[N][M];
 int n,m,x1,x2,y1,y2,sum,ssum; //описываем переменные
 cout<<"n=?  "; cin >> n; 
 cout<<"m=?  "; cin >> m;
 
   for ( int i=0;  i < n; i++)
       for( int j=0; j < m; j++)
  
   a[i][j]=rand()%100-50; //заполнили матрицу случайными числами
 
  for(int i=0; i<n; i++)
  {
          for(int j=0; j<m; j++)
 
          cout <<  a[i][j]<<" "; //выводим матрицу
          cout << endl;
  }
     ssum=0;
      sum=a[0][0];
        for (int i=0; i < n; i++)
        
         for (int j=0; j < m; j++) //выбираем первый элемент
         
           for (int k=i; k < n; k++)
          
            for (int l=j; l < m; l++) //выбираем второй элемент
      { 
             for(int h=i; h <= k; h++)
             
               for(int g=j; g <= l; g++) //считаем сумму
           
              sum+=a[h][g];
            
             if  (sum > ssum)
           {
               sum=sum;
               x1=i;
               x2=k;
               y1=j;
               y2=l;
           }
      }
 
        cout << ssum <<endl;
         for( int i=x1; i<=x2; i++)
          for( int j=y1; j<=y2; j++)
    
          cout << a[i][j];
          cout << endl;
 
      
      getch();
      return 0;    
}
Добавлено через 28 секунд
как сделать,чтобы работало?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru