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

заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Vera_0709
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 11
28.12.2011, 00:59     заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей #1
помогите, пожалуйста, написать программу на С или С++

Нужно заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей, ЛП, от левого верхнего угла вниз - вправо. Остаток матрицы заполнить нулями.
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2011, 00:59     заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей
Посмотрите здесь:

C++ Разместить на побочной диагонали матрицы суммы элементов, которые лежат на диагоналях, перпендикулярных к побочной.
C++ Транспонирование матрицы относительно главной и побочной диагоналей
C++ Переписать поочередно элементы главной и побочной диагоналей матрицы в массив
C++ Заполнить матрицу случайными числами. На главной диагонали разместить суммы элементов, которые лежат на той же строке и том же столбце
Посчитать суммы в четвертях матрицы которые образуются пересечением главной и побочной диагоналей. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2011, 04:21     заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей #2
проверяйте:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h> 
int main()
{ 
    int a[100][100], n, t=1, i, j;
    printf("n= ");
    scanf("%d", &n);
    for(j=0; j<n; j++)
        for(i=0; i<n; i++)
            if((j<i && i<n/2) || (j<n-i-1 && i>=n/2) || (j>n-i-1 && i<n/2) || (j>i && i>=n/2))
                a[i][j]=t++;
            else
                a[i][j]=0;
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
            printf("%4d", a[i][j]);
        printf("\n");
    }
    return 0;
}
Vera_0709
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 11
28.12.2011, 13:21  [ТС]     заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей #3
скажите, а как можно изменить программу, чтобы сразу выводилась матрица 9*9?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2011, 13:24     заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей #4
например так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h> 
int main()
{ 
        int a[9][9], n=9, t=1, i, j;
        for(j=0; j<n; j++)
                for(i=0; i<n; i++)
                        if((j<i && i<n/2) || (j<n-i-1 && i>=n/2) || (j>n-i-1 && i<n/2) || (j>i && i>=n/2))
                                a[i][j]=t++;
                        else
                                a[i][j]=0;
        for(i=0; i<n; i++)
        {
                for(j=0; j<n; j++)
                        printf("%4d", a[i][j]);
                printf("\n");
        }
        return 0;
}
Vera_0709
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 11
28.12.2011, 13:29  [ТС]     заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей #5
большое спасибо).
Yandex
Объявления
28.12.2011, 13:29     заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей
Ответ Создать тему
Опции темы

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