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

Выбрать строку с наименьшей суммой элементов - C++

Восстановить пароль Регистрация
 
Маринчик
 Аватар для Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 123
03.04.2014, 21:29     Выбрать строку с наименьшей суммой элементов #1
V=M1-M2 где V-массив, M1,M2 -матрицы,из которых нужно выбрать строку с наименьшей суммой элементов.

Эти строки я нашла, а как дальше - сбиваюсь. Их нужно объявить как новые массивы,чтоб провести вычитание и записать в новый массив или как ?
вот то что я наработала:
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
#include<stdio.h>
#include<iostream>/*zagolovochnij fajl s klassami, funktsijami i peremennimi dlja organizacii vvoda-vivoda v jazike programmirovaniya C++*/
#include <stdlib.h>
using namespace std;/*ob'javlenie prostranstva imen  std.*/
 
class M
     { float *x; int n,m; 
       public:float sum, min; int stroka;
              M(); 
              void vvod();
              void vivod(); 
              void min_sum_el();
              void vivod_stroka();
              ~M(){delete[]x; puts("rabotal destryktor\n");}                
     };
     
  M::M()
  {printf("\nvvedite razmernost n*m: ");
     scanf("%d %d",&n,&m);
     puts("\nrabotal konstruktor matrici\n");    
    } 
 void M:: vvod()    
      {x=new float [n*m]; 
      for(int i=0;i<n;i++)
      for(int j=0;j<m;j++)
      *(x+i*m+j)=rand() % 101 - 50;
      }
//==============================================//
 void M::vivod()/*vivodit matrici na ekran*/
    {printf("\nmatrica:\n"); 
     for(int i=0; i<n; i++)
     {for(int j=0;j<m;j++)
      cout<<*(x+i*m+j)<< " ";
      cout << "\n";
     }
      
    }
//==============================================//    
  void M::min_sum_el()
  {min=1000;/*prinimayem za minimum samoye bolshoye chislo tipa  1000*/
   for(int i=0;i<n;i++)/*idem po strokam*/
   {sum=0;/*snachala summa v stroke=0*/
    for(int j=0;j<m;j++)/*idem po stroke*/
       sum+=*(x+i*m+j);/*summiruyem yeye elementy*/
        if (sum<min) {min=sum;stroka=i+1;}/*esli summa v dannoy stroke menshe chem predydushchiy minimum to eto minimum i zapomnim nomer stroki*/
       }
       }
 //==============================================//      
  void M::vivod_stroka()
  {printf("Minimalnaya summa= %3.2f v stroke %d ",min, stroka); printf("\n");}
  //==============================================//  
  
   
   
 
int main()
{M M1;
 M1.vvod();
 M1.vivod();
 M1.min_sum_el();
 M1.vivod_stroka();
 system("pause");
 
 M M2;
 M2.vvod();
 M2.vivod();
 M2.min_sum_el();
 M2.vivod_stroka();
 system("pause");
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2014, 21:29     Выбрать строку с наименьшей суммой элементов
Посмотрите здесь:

Определить номер строки с наименьшей суммой модулей элементов C++
C++ В двумерном N*K массиве целых чисел поменять строку с максимальной суммой элементов со строкой с минимальной суммой элементов.
C++ Строка матрицы с наименьшей суммой элементов.
найти тройку последовательных элементов массива F с наименьшей суммой C++
наибольшее из значений элементов столбца, который обладает наименьшей суммой модулей элементов C++
Динамические массивы С++ - найти строку с наибольшей и наименьшей суммой элементов C++
C++ Найти строку прямоугольной матрицы с наибольшей и наименьшей суммой элементов.
Найти строки матрицы с наибольшей и наименьшей суммой элементов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 07:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru