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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Тори
1 / 1 / 0
Регистрация: 09.05.2010
Сообщений: 59
#1

максимальный первый элемент в строке матрицы - C++

31.05.2010, 21:29. Просмотров 384. Ответов 6
Метки нет (Все метки)

Дан двумерный массив, размерностью MxN. Найти сумму и количество тех строк, первый элемент которых максимален;

C++
1
2
3
4
5
6
7
int max=mas[0][0];
for (int i=0;i<M;i++)
  for (int j=0;j<N;j++)
   {if (mas[1][0]>max)
     max=mas[i][j];
     sum=mas[i][j];}
     cout<<"max="<<max<<endl;
подскажите пожалуйста,как это решать..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2010, 21:29     максимальный первый элемент в строке матрицы
Посмотрите здесь:

C++ Найти максимальный элемент в каждой строке матрицы
C++ Найти сумму элементов в строке содержащий максимальный элемент матрицы
C++ Найти максимальный элемент в строке матрицы
C++ Найти максимальный элемент в каждой строке матрицы
Найти максимальный элемент в каждой строке матрицы C++
C++ В каждой строке матрицы найти максимальный элемент и заменить его на противоположный
Найти максимальный элемент матрицы и минимальное значение в строке где он находится C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1466 / 833 / 69
Регистрация: 26.03.2010
Сообщений: 2,839
31.05.2010, 21:35     максимальный первый элемент в строке матрицы #2
C++
1
2
3
4
5
6
7
8
9
10
bool flag;
int max, count;
    for (int i=0; i<Row; i++) {
        flag=true;
        max=[i][0];
        for (int j=1; j<Column; j++)
            if (MAS[i][j]>max) {
                flag=false;
                break; }
        if (flag) count++;
Ищет кол-во строк, где первый элемент максимален.
Мб не самый красивый алгоритм, но в голову чет лучше не приходит пока)
Тори
1 / 1 / 0
Регистрация: 09.05.2010
Сообщений: 59
31.05.2010, 21:42  [ТС]     максимальный первый элемент в строке матрицы #3
а что значит строчка 10?О_о
и что такое count?
neske
1466 / 833 / 69
Регистрация: 26.03.2010
Сообщений: 2,839
31.05.2010, 21:46     максимальный первый элемент в строке матрицы #4
C++
1
if (flag) count++;
flag-переменная типа bool, это аналогично:
C++
1
if (flag==true) count++;
count, обычная int переменная, которая выступает тут с роли счетчика.
Тори
1 / 1 / 0
Регистрация: 09.05.2010
Сообщений: 59
31.05.2010, 22:11  [ТС]     максимальный первый элемент в строке матрицы #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
bool flag;
int count,max,sum1=0;
    for (int i=0;i<M;i++)
     {flag=true;
      max=mas[i][0];}
        for (int j=1;j<N;j++)
            if (mas[i][j]>max)
            {flag=false;
                break;}
        if (flag)
        count++;
        for (int i=0;i<M;i++)
            {for (int j=1;j<N;j++)
               sum1+=mas[i][j];}
cout<<"sum1="<<sum1<<endl;
я правильно делаю или нет?

Добавлено через 47 секунд
выдает ошибку в 7 и 11 строке
neske
1466 / 833 / 69
Регистрация: 26.03.2010
Сообщений: 2,839
31.05.2010, 22:13     максимальный первый элемент в строке матрицы #6
Не правильно.

1) Зачем у вас скобка в строке #5?
Совет: когда написали код, проверяйте, как все идет, я это иногда делаю прям пальцем по монитору)

2) В #13 строке лишняя скобка. ( .. (
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2010, 23:22     максимальный первый элемент в строке матрицы
Еще ссылки по теме:

Найти в каждой строке матрицы максимальный элемент C++
C++ Обнулить первый максимальный элемент в указанном столбце матрицы
C++ Найти в каждой строке матрицы максимальный элемент
C++ В строке содержащий максимальный элемент матрицы, подсчитать сумму элементов по заданной формуле
Найти максимальный элемент в заданной строке матрицы C++

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

Или воспользуйтесь поиском по форуму:
DenQ
Комбинатор
978 / 244 / 6
Регистрация: 10.03.2010
Сообщений: 3,559
31.05.2010, 23:22     максимальный первый элемент в строке матрицы #7
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
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
int main(){
    int mas[5][5]; //главный массив
    int max[5]; //массив позиций в строках, где размещен максимальный элемент
    int c = 0; //счетчик количества строк, первый элемент которых есть максимум
    int sum = 0; //сумма строк
//---генерируем массив случайными величинами-----------------------------------
    randomize();
    for(int i=0;i<5;i++)
        for(int j=0;j<5;j++)
            mas[i][j] = random(10);
//---Выводим получившийся массив на печать и ищим позиции максимумов в строках-
    for(int i=0; i<5; i++){
        int MAX = 0;
        for(int j=0; j<5; j++){
            cout << mas[i][j]<<" ";
            if(MAX<mas[i][j]){
                MAX = mas[i][j];
                max[i] = j;
            }
        }
        cout << endl;
    }
    cout << endl;
 
//---осуществляем подсчет строк содержащих первым элементом максимум, а так же-
//---суммируем их, согласно условию--------------------------------------------
    for(int i=0; i<5; i++)
        if(max[i]==0){
            c++;
            for(int j=0;j<5;j++)
                sum+=mas[i][j];
        }
    cout << "Строк :"<<c<<endl;
    cout << "Сумма :"<<sum<<endl;
    
    getch();
    return 0;
}
Yandex
Объявления
31.05.2010, 23:22     максимальный первый элемент в строке матрицы
Ответ Создать тему
Опции темы

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