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

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

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

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

23.06.2014, 01:36. Просмотров 237. Ответов 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;
 
}
}
            
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2014, 01:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Двумерный массив. Где ошибка? (C++):

Двумерный массив, где ошибка? - C++
Здравствуйте! Странная вещь получается, вроде все делаю правильно, пытался вывести двумерный массив, а оно ошибку выдает на...

Где ошибка?Функция, принимающая указатель на двумерный массив и рандом чисел - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; void arrprint(float* arr, int m, int n) { ...

Дан двумерный массив. Найти номер строки, где больше всего нулей. - C++
Дан двумерный массив. Найти номер строки, где больше всего нулей. Помогите пожалуйсто, больше не на кого положиться. При Многом благодарен)

Найти ошибку! Двумерный массив, определить кол., столбцов где хоть один элемент <0 - C++
Все работет отлично но при вводе ,допустим, матрицы с кол., строк 4 и кол., столбцов 5. И минимальном -5 и максимальном 5 элемента массива....

двумерный массив, в чем ошибка? - C++
Все элементы столбца с минимальным элементом заменить максимальным элементом. Мне написали код, но тут проблема в библиотеках, или в...

Ошибка в функции(двумерный массив) - C++
Доброй ночи помогите пожалуйста: Есть двумерный массив mass нужна функция для его просмотра: #include &lt;iostream&gt; using namespace std;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Елена Едыгарова
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;      
 }
0
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
23.06.2014, 02:28  [ТС] #3
все хорошо, но Найти наибольший элемент среди стоящих на главной диагонали!!!!
0
Елена Едыгарова
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;
       }
Мне казалось, что это поиск наибольшего элемента среди стоящих на главной диагонали, разве нет?
1
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
23.06.2014, 19:29  [ТС] #5
Спасибо разобрался!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2014, 19:29
Привет! Вот еще темы с ответами:

Дан двумерный массив A размера m×n. Найти количество столбцов, где все элементы упорядочены по возрастанию - C++
Преподаватель сказал, что подсчитывается количество столбцов с упорядоченными по неубыванию элементами, а по условию задачи надо было найти...

Двумерный массив - ошибка приведения типов - C++
Приветсвую. Столкнулся с такой проблемой, точнее не с проблемой а с вопросом. допустим: имеется функция Function; void Function( double...

Непонятная ошибка(классы и двумерный динамический массив) - C++
Всем привет. Сегодня писал программу для двумерного динамического массива. Должны меняться значения столбцов и строк, так, чтобы, например,...

Двумерный Массив,динамическое выделение памяти-ошибка - C++
Здравствуйте! Не могу найти ошибку в программе, некорректно работает именно с динамическим выделением памяти, со статическим все правильно...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.06.2014, 19:29
Ответ Создать тему
Опции темы

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