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

Сумма строк в двумерном массиве - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.76
Тори
 Аватар для Тори
1 / 1 / 0
Регистрация: 09.05.2010
Сообщений: 59
29.05.2010, 11:39     Сумма строк в двумерном массиве #1
Дан двумерный массив, размерностью MxN. Определить:
1) общую сумму строк с четными индексами;
2) сумму тех строк, первый элемент которых максимален;
3) количество строк, первый элемент которых максимален.

пока разбираюсь с первой задачей:
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
#include<iostream.h>
#include<math.h>
#include<stdlib.h>
#include<iostream.h>
int main ()
{
    const int M=5,N=6;
    int mas[M][N];
    for (int i=0;i<M;i++)
    for (int j=0;j<N;j++)
    mas[i][j]=rand()%10;
    for (int i=0;i<M;i++)
    for (int j=0;j<N;j++)
    cout<<mas[i][j]<<" ";
    srand(time(NULL));
    int sum=0;
    for (int i=0;i<M;i++)
    for (int j=0;j<N;j++)
    if (i%2==0)
     {sum+=mas[i];}
cout<<"sum="<<sum<<endl;
system("pause");
return 0;
}
Добавлено через 1 минуту
в 20 строке выдает ошибку, и выводит матрицу в одну строку, а я хочу,чтобы она была в виде матрицы,подскажите пожалуйста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
29.05.2010, 11:47     Сумма строк в двумерном массиве #2
Двумерные матрицы выводятся так:
C++
1
2
3
4
for (int i=0;i<M;i++) {
    for (int j=0;j<N;j++)
        cout<<mas[i][j]<<" ";
    cout << endl; }
Добавлено через 1 минуту
Строка #20 -
C++
1
 {sum+=mas[i];}
Что за mas[i]? Работаем же с двумерным массивом.
Поэтому
C++
1
sum+=mas[i][j];
Тори
 Аватар для Тори
1 / 1 / 0
Регистрация: 09.05.2010
Сообщений: 59
29.05.2010, 13:02  [ТС]     Сумма строк в двумерном массиве #3
а почему в 11 строке пишет,что неизвестны i и j?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.05.2010, 13:10     Сумма строк в двумерном массиве #4
Цитата Сообщение от Тори Посмотреть сообщение
а почему в 11 строке пишет,что неизвестны i и j?
А перед ней нигде случаем точка с запятой не затесалась?
Тори
 Аватар для Тори
1 / 1 / 0
Регистрация: 09.05.2010
Сообщений: 59
29.05.2010, 13:12  [ТС]     Сумма строк в двумерном массиве #5
нет,не затесалась..
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.05.2010, 13:13     Сумма строк в двумерном массиве #6
Все таки выложи вариант который компилируешь.
Тори
 Аватар для Тори
1 / 1 / 0
Регистрация: 09.05.2010
Сообщений: 59
29.05.2010, 13:18  [ТС]     Сумма строк в двумерном массиве #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
#include<iostream.h>
#include<math.h>
#include<stdlib.h>
#include<iostream.h>
int main ()
{
    const int M=5,N=6;
    int mas[M][N],i,j;
    for (int i=0;i<M;i++)
    {for (int j=0;j<N;j++)
    cout<<mas[i][j]<<" ";
    cout<<endl;}
    mas[i][j]=rand()%10;
    srand(time(NULL));
    int sum=0;
    for (int i=0;i<M;i++)
    for (int j=0;j<N;j++)
    if (i%2==0)
     sum+=mas[i][j];
cout<<"sum="<<sum<<endl;
system("pause");
return 0;
}
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.05.2010, 13:24     Сумма строк в двумерном массиве #8
Цитата Сообщение от Тори Посмотреть сообщение
for (int i=0;i<M;i++)
{for (int j=0;j<N;j++)
cout<<mas[i][j]<<" ";
cout<<endl;}
mas[i][j]=rand()%10;
Во-первых ты пытаешься вывести массив до его заполнения.
Во-вторых mas[i][j]=rand()%10; находится за пределами цикла.
C++
1
2
3
4
5
6
7
8
9
for (int i=0;i<M;i++)
{
   for (int j=0;j<N;j++)
   {
      mas[i][j]=rand()%10;
      cout<<mas[i][j]<<" ";
   }
   cout<<endl;
}
Тори
 Аватар для Тори
1 / 1 / 0
Регистрация: 09.05.2010
Сообщений: 59
29.05.2010, 14:00  [ТС]     Сумма строк в двумерном массиве #9
теперь у меня выводится только первый столбец
а как сделать,чтобы матрицей выводилось на экран?
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
29.05.2010, 17:12     Сумма строк в двумерном массиве #10
Вот пример, матрица заполняется и выводит на экран. Не по-другому, а именно так:

C++
1
2
3
4
5
    for (int i=0; i<Row; i++) {
        for (int j=0; j<Column; j++) {
            MAS[i][j]=rand()%10;
            std::cout << " " << MAS[i][j]; }
        std::cout << std::endl; }
Тори
 Аватар для Тори
1 / 1 / 0
Регистрация: 09.05.2010
Сообщений: 59
29.05.2010, 18:51  [ТС]     Сумма строк в двумерном массиве #11
а что значат row, column, std?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.05.2010, 18:56     Сумма строк в двумерном массиве #12
Цитата Сообщение от Тори Посмотреть сообщение
а что значат row, column, std?
row - количество строк
column - количество столбцов.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
29.05.2010, 18:59     Сумма строк в двумерном массиве #13
Угу)
А вместо
C++
1
using namespace std;
я предпочитаю писать
C++
1
std::
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.05.2010, 19:04     Сумма строк в двумерном массиве #14
Сдается мне, что Тори пишет на билдере, ей и using namespace std; ни о чем не говорит)
Тори
 Аватар для Тори
1 / 1 / 0
Регистрация: 09.05.2010
Сообщений: 59
29.05.2010, 19:16  [ТС]     Сумма строк в двумерном массиве #15
мне вообще все это очень сложно дается...

Добавлено через 6 минут
а почему в 7 столбец из шести записываются нули?
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
29.05.2010, 19:17     Сумма строк в двумерном массиве #16
Когда какие-то вопросы, показывай код сразу, чтобы проще было
Тори
 Аватар для Тори
1 / 1 / 0
Регистрация: 09.05.2010
Сообщений: 59
29.05.2010, 19:18  [ТС]     Сумма строк в двумерном массиве #17
ок
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream.h>
#include<math.h>
#include<stdlib.h>
#include<iostream.h>
int main ()
{
    const int M=5,N=6;
    int mas[M][N];
    for (int i=0; i<M; i++)
      {for (int j=0; j<N; j++)
      {mas[i][j]=rand()%10;
       cout <<" "<<mas[i][j];}
       cout<<mas[M][N]<<endl;}
    srand(time(NULL));
    int sum=0;
    for (int i=0;i<M;i++)
           for (int j=0;j<N;j++)
                if (i%2==0)
                    sum+=mas[i][j];
cout<<"sum="<<sum<<endl;
system("pause");
return 0;
}
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
29.05.2010, 19:20     Сумма строк в двумерном массиве #18
А что ты хотела сделать в 13-ой строчке? оО.
Там должен быть переход на новую строку, то есть
C++
1
cout << endl;
Тори
 Аватар для Тори
1 / 1 / 0
Регистрация: 09.05.2010
Сообщений: 59
29.05.2010, 19:52  [ТС]     Сумма строк в двумерном массиве #19
ну ты же знаешь,какие у меня бывают супер наиглупейшие ошибки

Добавлено через 27 минут
а как найти сумму тех строк, у который первый элемент максимальный?
C++
1
2
3
4
5
6
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];}
     cout<<"max="<<max<<endl;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2010, 19:53     Сумма строк в двумерном массиве
Еще ссылки по теме:

Сумма элементов строки в двумерном массиве до нуля C++
Неизвестное количество строк в двумерном массиве C++
В двумерном массиве умножить элементы строк C++

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

Или воспользуйтесь поиском по форуму:
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
29.05.2010, 19:53     Сумма строк в двумерном массиве #20
Максимальный во всей матрице, или в строке?
Yandex
Объявления
29.05.2010, 19:53     Сумма строк в двумерном массиве
Ответ Создать тему
Опции темы

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