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

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

Войти
Регистрация
Восстановить пароль
 
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
#1

Составить программу, выводящую на экран квадратную матрицу - C++

25.12.2013, 19:34. Просмотров 298. Ответов 0
Метки нет (Все метки)

Здравствуйте. Мне необходимо составить программу, выводящую на экран квадратную матрицу порядка nxn (2<n<24). При этом матрица при n=7 должна выглядеть так (представлено под спойлером):
Кликните здесь для просмотра всего текста
4 0 0 0 0 0 0
5 3 0 0 0 0 0
10 6 2 0 0 0 0
11 9 7 1 0 0 0
14 12 8 0 0 0 0
15 13 0 0 0 0 0
16 0 0 0 0 0 0

Мною была составлена программа, выводящая на экран следующую матрицу:
Кликните здесь для просмотра всего текста

1 0 0 0 0 0 0
5 2 0 0 0 0 0
8 6 3 0 0 0 0
11 9 7 4 0 0 0
13 12 10 0 0 0 0
15 14 0 0 0 0 0
16 0 0 0 0 0 0

То есть различие заключается в том, что в нужной мне матрице элементы располагаются в левом треугольнике матрицы "змейкой", при этом единица находится в центре, а в той матрице, которую была мною получена, элементы, находясь во все том же левом треугольнике матрицы, располагаются не змейкой, а по диагоналям слева направо, при это в середине находится четверка, а не единица.
Ниже приведена составленная мною программа:
Кликните здесь для просмотра всего текста
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
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
#define SIZE 23
int main()
{
    int k,n,i,j,m,q,a[SIZE][SIZE];
    
    printf("2<n<24, tol'ko nechetn. \n vvedite znachenie n ");
    scanf("%d",&n);
    m=1;
    q=1; // ïåðâîå Г*ГҐГ*óëåâîå ÷èñëî
    for (i=0;  i<n; i++)
    {
        for (j=0;  j<n;  j++)
        {
            a[i][j]=0;
        }
    }
 
    {for (k=0; k<n; k++)
    {   for (j=0;  j<n/2+q; j++)  a[k+j][n-7+j]=m++; 
    
    
    if((k==0)||(k%2==0))
    q--;
    // âûâîäèò Г*Г* ГЅГЄГ°Г*Г* Г·ГЁГ±Г«Г* ГЇГ® âåðòèêГ*ëè
    
       
    }
    if(n%2==0)
    printf("Nedopustimoe znachenie");
    else
    for (i=0;  i<n; i++)
    {
        for (j=0;  j<n;  j++)
        {
            printf("%4d", a[i][j]);
        }
        printf("\n");
        
    }
    getch();
    return 0;
} }

Очень сильно надеюсь на вашу помощь, поскольку это сильно нуждаюсь в этой программе. Заранее благодарен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2013, 19:34     Составить программу, выводящую на экран квадратную матрицу
Посмотрите здесь:

C++ Составить программу, проверяющую истинность условий и выводящую на экран соответствующие сообщения
Составить программу, которая заполняет квадратную матрицу C++
C++ Составить программу, читающую загрузочный сектор диска и выводящую на экран основные характеристики диска из BPB
Написать программу выводящую на экран C++
C++ Составить квадратную матрицу по образцу. Двумерные массивы С++
Необходимо составить программу, выводящую на экран матрицу данного вида (подробнее внутри) C++
Создать программу выводящую симметричную матрицу на экран C++
C++ Составить программу, выводящую на экран квадрат Пифагора - таблицу умножения.
Составить программу, выводящую на экран информацию о наличии товаров на складе C++
Составить программу, выводящую значения функции C++
Вывести на экран квадратную матрицу C++
C++ Составить квадратную матрицу, элементами которой являются кубы чисел от 1 до 25

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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