Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
murager_94
0 / 0 / 2
Регистрация: 12.10.2013
Сообщений: 16
1

Если на главной диагонали матрицы есть число -1, то заменить нижнюю часть диагонали на число 2

09.02.2014, 13:41. Просмотров 346. Ответов 2
Метки нет (Все метки)

Дано матрица!Если по главному диагоналу есть число "-1",то заменить нижний часть диагонала на "2",а верхний часть заменить на "1". Еще простите за грамматический ошибки,я не силен по русскому!
Я написал код с ошибками,помогите решит!
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
#include<iostream>
#include<windows.h>
#include<conio.h>
#include<time.h>
#include<iomanip>
using namespace std;
const int n=3;
int main(){
int my[n][n];
int i,j;
srand(time(0));
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
my[i][j]=rand()%4-1;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
    cout<<setw(4)<<my[i][j]<<" ";
cout<<endl;}
cout<<endl<<endl;
int a=my[0][0];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
    if(i==j){
        {if(my[i][j]==-1)
            if(i>j){
            my[1][0]=2;
    my[2][0]=2;
    my[2][1]=2;}
        }
    }
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
    cout<<setw(4)<<my[i][j]<<" ";
cout<<endl;}
getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2014, 13:41
Ответы с готовыми решениями:

Как заменить все элементы главной диагонали в квадратной матрицы на какое-то число?
Как заменить все элементы главной диагонали в квадратной матрицы на какое-то...

В каждой строке матрицы F(k,k) элемент, лежащий на главной диагонали, если это простое число
В каждой строке матрицы F(k,k) элемент, лежащий на главной диагонали, если это...

Вычислить среднее арифметическое побочной диагонали матрицы, и заменить им элементы ниже главной диагонали
Вычислить среднее арифметическое элементов, находящихся на побочной диагонали...

Заменить каждый нулевой элемент главной диагонали матрицы максимальным элементом побочной диагонали
дан массив А. Заменить каждый нулевой элемент главной диагонали максимальным...

Заменить элементы главной диагонали матрицы нулями и найти максимальный элемент ниже побочной диагонали
Есть пример для решения другой задачи(она находит суму всех элементов каждой...

2
parsila
5 / 5 / 3
Регистрация: 08.04.2013
Сообщений: 30
09.02.2014, 13:54 2
Если код не работает, старайтесь его упростить. Пройдитесь сначала по элементам диагонали, а уже затем, в зависимости от результата, изменяйте Вашу матрицу.

Что касается Вашего кода, в конструкции
C++ (Qt)
1
2
3
4
5
6
7
8
if(i==j){
        {if(my[i][j]==-1)
            if(i>j){
            my[1][0]=2;
    my[2][0]=2;
    my[2][1]=2;}
        }
    }
третье условие всегда будет выдавать false и изменений происходить не будет. Поэтому код и ничего не меняет.
0
murager_94
0 / 0 / 2
Регистрация: 12.10.2013
Сообщений: 16
09.02.2014, 16:41  [ТС] 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include<iostream>
#include<windows.h>
#include<conio.h>
#include<time.h>
#include<iomanip>
using namespace std;
const int n=3;
int main(){
int my[n][n];
int i,j,c;
srand(time(0));
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
my[i][j]=rand()%4-1;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
    cout<<setw(4)<<my[i][j]<<" ";
cout<<endl;}
cout<<endl<<endl;
int a=my[0][0];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
    if(i==j)
    {if (my[i][j]==-1)
    for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
            if(i>j)
            {
        my[i][j]=2;
            }
            for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
            if(i<j)
            {
                my[i][j]=1;}
    }
    
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
    cout<<setw(4)<<my[i][j]<<" ";
cout<<endl;}
    getch();
return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2014, 16:41

Найти число положительных элементов матрицы, стоящих выше главной диагонали
Даны матрицы А(4х5) и В(3х7). Для матрицы А найти число положительных...

Найти число и сумму положительных элементов, стоящих выше главной диагонали матрицы
Нужна помощь с этим заданием: Даны матрицы А(5х5) и В(7х7). Для матрицы А...

Дано число k и матрица 3x3. Заменить все элементы ниже побочной диагонали на число k
Дано число k и матрица 3x3. Заменить все элементы ниже побочной диагонали на...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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