Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2010, 17:27   #1
Letti
Новичок
Джуниор
 
Регистрация: 24.12.2010
Сообщений: 1
По умолчанию

Помогите пожалуйста написать программу, которая определяет в матрице номер строки,сумма элементов которой максимальна.
даже вообще не знаю,как это сделать

Нашла подобную в Паскале,но я с этим языком не знакома. может можно как-то перевести из Паскаля в С++?
Код:
program a11;
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    n,i,j,imx:byte;
    mx,sm:integer;
begin
clrscr;
randomize;
repeat
write('Размер матрицы=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
   for j:=1 to n do
    begin
     a[i,j]:=random(40)+10;
     write(a[i,j]:4);
    end;
   writeln;
 end;
writeln;
mx:=0;imx:=1;
for j:=1 to n do
mx:=mx+a[1,j];
for i:=1 to n do
 begin
  sm:=0;
  for j:=1 to n do
  sm:=sm+a[i,j];
  if sm>mx then{if sm<mx для минимальной}
   begin
    mx:=sm;
    imx:=i;
   end;
 end;
writeln('Максимальная сумма в строке ',imx,' = ',mx);
readln
end.

Последний раз редактировалось Stilet; 24.12.2010 в 20:42.
Letti вне форума Ответить с цитированием
Старый 24.12.2010, 17:47   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
pos = 0;
max =0;
sum = 0;
for (j = 0; j < m; j++)
    sum += Massiv[0][j];
for (i = 1; i < n; i++)
{
    max = 0;
    for (j = 0; j < m; j++)
        max += massiv[i][j];
    if (max > sum)
    {
         sum = max;
         pos = i;
     }
}
cout << "В " << pos << "-той строке максимальная сумма = " << sum;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 24.12.2010, 18:54   #3
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

C++ говоришь... Ну вот тебе код, компилировать в visual studio.
Код:
#include <Vector>
#include <algorithm>
#include <numeric>
#include <iostream>
using namespace std;
int m,n;

bool CompareRows(vector<int> v1, vector<int> v2) {
   return (accumulate(v1.begin(), v1.end(), 0)<accumulate(v2.begin(), v2.end(), 0));
}
vector<vector<int> > data;
void main() {
   cout<<"How many rows in matrix? ";
   cin>>m;
   cout<<"And how many elements in row? ";
   cin>>n;
   data.resize(m);
   for (int i=0; i<m; ++i) {
    data[i].resize(n);
      for (int j=0; j<n; ++j) {
      cout<<"Enter element ("<<(i+1)<<","<<(j+1)<<"): ";
      cin>>data[i][j];
      }
   }
   cout<<"Row number: "<<(max_element(data.begin(), data.end(), CompareRows)-data.begin()+1)<<endl;
}
Son Of Pain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двумерный массив ДваДваВо7 Помощь студентам 1 06.12.2010 18:05
двумерный массив! euhenia Помощь студентам 5 08.12.2009 22:49
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
Двумерный массив Анжелика Помощь студентам 3 29.12.2008 21:23
Двумерный массив в С++ Draid Помощь студентам 2 07.03.2008 22:06