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

квадратная матрица - C++

Восстановить пароль Регистрация
 
D.I.
1 / 1 / 0
Регистрация: 05.12.2011
Сообщений: 24
07.06.2012, 10:15     квадратная матрица #1
Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и ниже побочной диагонали. Условный оператор не использовать.
по условию нужно получить:
4 0 0 0
5 7 0 0
2 5 0 0
2 0 0 0
Не могу понять как должна изменятся i и как она зависит от j
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2012, 10:15     квадратная матрица
Посмотрите здесь:

C++ квадратная матрица
Квадратная матрица C++
C++ Квадратная матрица
C++ Квадратная матрица !
C++ квадратная матрица
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
07.06.2012, 10:28     квадратная матрица #2
Таких задач в этой теме была тьма.
См, например,
Сумма элементов в матрице, выше главной диагонали.
D.I.
1 / 1 / 0
Регистрация: 05.12.2011
Сообщений: 24
07.06.2012, 10:34  [ТС]     квадратная матрица #3
Цитата Сообщение от zss Посмотреть сообщение
Таких задач в этой теме была тьма.
См, например,
Сумма элементов в матрице, выше главной диагонали.
ну да есть такое и даже есть зависимость ниже побочной сумма больше m но фокус в том что нельзя использовать условный оператор
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
07.06.2012, 10:54     квадратная матрица #4
Цитата Сообщение от D.I. Посмотреть сообщение
нельзя использовать условный оператор
Тогда измените начало внутреннего цикла на j=i+1 и цикл будет пробегать
только значения выше главной диагонали.
D.I.
1 / 1 / 0
Регистрация: 05.12.2011
Сообщений: 24
07.06.2012, 13:16  [ТС]     квадратная матрица #5
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
#include<iostream.h>
#include<conio.h>
#include<math.h>
int main()
{
    int a[10][10],i,j;
    int m,l=0;
    cout<<"size= ";
    cin>>m;
    for(i=0;i<m;i++)
    for(j=0;j<m;j++)
    cin>>a[i][j];
     for(i=0; i<m; ++i)
    {
              l++;
             for(j=1+i; j<m; ++j)
             {
                            a[i][j]=0;
             }
    }
    for(i=0;i<m;i++)
    {
              for(j=0;j<m;j++) 
              cout<<a[i][j]<<" ";
              cout<<endl;
    }
    getch ();
    return 0;
 }
так работает: обнуляет все выше главной. А для побочной мне нужно делать еще один цикл?

Добавлено через 9 минут
уррра!!!! решила!! спасибо
Yandex
Объявления
07.06.2012, 13:16     квадратная матрица
Ответ Создать тему
Опции темы

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