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

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

Войти
Регистрация
Восстановить пароль
 
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
#1

Двумерный массив. Где ошибка? - C++

23.06.2014, 01:36. Просмотров 223. Ответов 4
Метки нет (Все метки)

Дана действительная квадратная матрица порядка N (N – нечетное), заполненная случайными числами, все элементы различны.
Найти наибольший элемент среди стоящих на главной диагонали и поменять его местами с элементом, стоящим на пересечении этих диагоналей.

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
# include <iostream>
using namespace std;
int main ()
{
    const int r=5,/*строки*/ c=5;//элементов в одной строке (столбцы)
    int mas [r] [c]={};
    int max=0;
    for (int i=0; i<r; i++)
    {
        for (int j=0; j<c; j++)
        {
            mas [i] [j] = rand()%100;
            cout<<mas[i][j]<<'\t';
        }
        cout<<endl;
    }
    for (int i=0; i<r; i++)
    {
        for (int j=0; j<c; j++)
        {
            if (i=j)
                max=mas[i][j];
            if (mas[i][j]>max)
                max=mas[i][j];
}
        cout<<max<<endl;
    }
    int a;
    for (int i=0; i<r; i++)//переход между строками
    {
        for (int j=0; j<c; j++)//перебор элементов одной строки
        {
            if (((i=j)/2)==((i+j-1)/2))
                a = mas [i] [j];
    }
        int x;
    for (int i=0; i<r; i++)//переход между строками
    {
        for (int j=0; j<c; j++)//перебор элементов одной строки
        {
            if (((i=j)/2)==((i+j-1)/2))
                mas[i][j]=max;
            if (mas[i][j]=max)
                mas[i][j]=a;
                        cout<<mas[i][j]<<'\t';
 
    }
        cout<<endl;
 
}
}
            
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2014, 01:36     Двумерный массив. Где ошибка?
Посмотрите здесь:

C++ Дан двумерный массив. Найти номер строки, где больше всего нулей.
C++ Ошибка при выделении памяти под двумерный массив
C++ двумерный массив, в чем ошибка?
C++ ошибка в вводе в динамический двумерный массив
C++ Ошибка в функции(двумерный массив)
C++ Двумерный массив - ошибка приведения типов
Найти ошибку! Двумерный массив, определить кол., столбцов где хоть один элемент <0 C++
Дан двумерный массив A размера m×n. Найти количество столбцов, где все элементы упорядочены по возрастанию C++
Где ошибка?Функция, принимающая указатель на двумерный массив и рандом чисел C++
Двумерный массив, где ошибка? C++
Двумерный Массив,динамическое выделение памяти-ошибка C++
C++ Непонятная ошибка(классы и двумерный динамический массив)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Елена Едыгарова
 Аватар для Елена Едыгарова
34 / 20 / 9
Регистрация: 24.01.2014
Сообщений: 80
23.06.2014, 01:58     Двумерный массив. Где ошибка? #2
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
# include <iostream>
using namespace std;
int main ()
{
    const int r=5;int max=0;
    int mas [r][r]={};
    
    for (int i=0; i<r; i++)
    {
        for (int j=0; j<r; j++)
        {
            mas [i] [j] = rand()%100;
            cout<<mas[i][j]<<'\t';
        }
        cout<<endl;
    }
    
    int x;
    for (int i=0; i<r; i++)
       if(max<mas[i][i])
       {
           max=mas[i][i];
           x=i;
       }
 
        cout<<"\nMax="<<max<<endl;
        
        mas[x][x]=mas[r/2][r/2];
        mas[r/2][r/2]=max;
 
        cout<<endl;
        for (int i=0; i<r; i++)
        {
            for (int j=0; j<r; j++)
                 cout<<mas[i][j]<<'\t';
            cout<<endl;
        }
 
   return 0;      
 }
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
23.06.2014, 02:28  [ТС]     Двумерный массив. Где ошибка? #3
все хорошо, но Найти наибольший элемент среди стоящих на главной диагонали!!!!
Елена Едыгарова
 Аватар для Елена Едыгарова
34 / 20 / 9
Регистрация: 24.01.2014
Сообщений: 80
23.06.2014, 09:43     Двумерный массив. Где ошибка? #4
Элементы главной диагонали имеют равные индексы.
C++
1
2
3
4
5
6
for (int i=0; i<r; i++)
       if(max<mas[i][i])
       {
           max=mas[i][i];
           x=i;
       }
Мне казалось, что это поиск наибольшего элемента среди стоящих на главной диагонали, разве нет?
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
23.06.2014, 19:29  [ТС]     Двумерный массив. Где ошибка? #5
Спасибо разобрался!
Yandex
Объявления
23.06.2014, 19:29     Двумерный массив. Где ошибка?
Ответ Создать тему
Опции темы

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