Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
45 / 10 / 3
Регистрация: 03.03.2009
Сообщений: 254

Матрица змейкой

06.03.2012, 16:31. Показов 1867. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь написать решение для задачи, чтобы выводила матрицу в таком виде
Изображения
 
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.03.2012, 16:31
Ответы с готовыми решениями:

Матрица змейкой
Нужно вывести матрицу змейкой, но выводит по строчкам, что нужно исправить? // Матрица змейкой #include "stdafx.h" #include...

Turbo C++(матрица змейкой)
Здравствуйте уважаемые программисты!!!Помогите с решением задачи на матрицу. Нужно просто ввести n колличество цифр и разполодить их в...

Симметричную матрицу сделать несимметричной
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

4
45 / 10 / 3
Регистрация: 03.03.2009
Сообщений: 254
06.03.2012, 16:32  [ТС]
Собственно код:
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>
using namespace std;
int main()
{
        double *a,**b;
        int i,z,j,t,n;
                z=0;
                cin>>n;
                a=new double [n*n];
                b=new double *[n];
                for (i=0;i<n;i++) b[i] = new double [n];
        for (i=0;i<n*n;i++)
        {
                cout<<"a["<<i<<"]= ";
                cin>>a[i];
        }
        for (i=0;i<n*n;i++) cout<<a[i]<<" ";
        cout<<endl<<endl;
                for (i=0;i<n;i++)
                {
                        t=i;
                        for (j=0;j<=i;j++)
                        {
                                b[t--][j]=a[z++];
                        }
                }
 
                for (j=1;j<n;j++)
                {
                        t=j;
                        for (i=n-1;i>=j;i--)
                        {
                                b[i][t]=a[z++];
                                t++;
                        }
                }
                for (i=0;i<n;i++)
                 {
                         for (j=0;j<n;j++) cout<<b[i][j]<<" ";
                         cout<<endl;
                 }
        cin>>i;
        return 0;
}
0
 Аватар для Mиxaил
542 / 447 / 162
Регистрация: 10.12.2009
Сообщений: 1,857
09.03.2012, 23:57
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>
#include <iomanip>
 
const int N = 5;
 
void PrintingMatrix ( int **a, const int n1 )
{
    int b;
    for ( int i = 0; i < n1; i++ )
    {
        for ( int j = 0; j < n1; j++ )
            std::cout << std::setw ( 3 ) << a [ i ][ j ];
        std::cout << std::endl;
    }
    std::cout << std::endl;
}
 
void GetMatrix ( int **a, const int n1 )
{
    int k = 1;
 
    for ( int diagonal = 1; diagonal <= n1; diagonal++ )
    {
        if ( diagonal & 1 )
            for ( int i = diagonal - 1; i >= 0; i-- )
                a [ i ][ diagonal - i - 1 ] = k++;
        else
            for ( int i = 0; i < diagonal; i++ )
                a [ i ][ diagonal - i - 1 ] = k++;
    }
 
    for ( int i = n1 - 1; i >= 1; i-- )
        for ( int j = n1 - i; j < n1; j++ )
            a [ i ][ j ] = 0;
    
}
 
int main()
{
    int **Matrix  = new int *[ N ], *Array = new int [ N ];
 
    for ( int index = 0; index < N; index++ )
        Matrix [ index ] = new int [ N ];
 
    GetMatrix ( Matrix, N );
    PrintingMatrix ( Matrix, N );
 
    for ( int index = 0; index < N; index++ )
        delete []Matrix [ index ];
 
    delete []Matrix;
 
    return 0;
}
0
45 / 10 / 3
Регистрация: 03.03.2009
Сообщений: 254
10.03.2012, 00:08  [ТС]
Ну кто нить может точно сделать((((
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.03.2012, 12:36
Вот, наконец то получилось!


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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <iostream>
 
using namespace std;
 
int main()
{
    cout << "======================================================\n";
    cout << "Name:   Zmeika\n";
    cout << "Desc:   Stroit zmeiku iz cikla \"for\"\n";
    cout << "Author: Programina:)\n";
    cout << "10 marta 2012\n";  
    cout << "======================================================\n";
    cout << "\n";
    
    int x = 0;
    int y = 0;
    int i = 0;
    
    for ( y = 0; y < 20; y ++ )     
    {
        if  ( y >=  0 & y <  5 )    { cout << "x"; }
        else if ( y >= 10 & y < 15 )    { cout << "x"; }
        else                { cout << " "; }            
    }   
    
    cout << "\n";   
                
    for ( x = 0; x < 20; x ++ )     
    {   
        for ( y = 0; y < 40; y ++ )     
        {
            if ( y < 20 )
            {           
                if ( y >= 4-i & y < 5-i ) 
                {
                    cout << "x";
                }           
                else if ( y >=  9-i & y < 10-i ) 
                {
                    cout << "x";
                }
                else if ( y >= 14-i & y < 15-i ) 
                {
                    cout << "x";
                }
                else if ( y >= 19-i & y < 20-i ) 
                {
                    cout << "x";
                }
                else if ( y >= 24-i & y < 25-i ) 
                {
                    cout << "x";
                }                               
                else if ( y >= 29-i & y < 30-i ) 
                {
                    cout << "x";
                }                               
                else if ( y >= 34-i & y < 35-i ) 
                {
                    cout << "x";
                }                                       
                else
                {
                    if  ( x >=  5 & x < 10 & y ==  0 )  { cout << "x"; }
                    else if ( x >= 15 & x < 20 & y ==  0 )  { cout << "x"; }
                    else if ( x >=  0 & x <  5 & y == 19 )  { cout << "x"; }
                    else if ( x >= 10 & x < 15 & y == 19 )  { cout << "x"; }                    
                    else                    { cout << " "; }
                }
            }       
        }       
        i ++;
        cout << "\n";   
    }
    
    for ( y = 0; y < 20; y ++ )     
    {
        if ( y >= 5 & y < 10 ) cout << "x";
        else if ( y >= 15 & y < 20 ) cout << "x";
        else cout << " ";
                
    }   
    
    cout << "\n\n THE END!\n\n";    
    system("pause");
    return 0;   
}
Миниатюры
Матрица змейкой  
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.03.2012, 12:36
Помогаю со студенческими работами здесь

Заполнение змейкой
заполнение матрицы по диагонали змейкой по принципу 1 3 4 10 2 5 9 11 6 8 12 15 7 13 14 16. Программа работает при вводе данных с...

Управление змейкой
#include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;graphics.h&gt; #define N 30 #define M 20 ...

Заполнить матрицу змейкой
Напишите программу, которая заполняет матрицу из N строк и M столбцов натуральными числами змейкой, как показано в примере. Входные...

Заполнение матрицы змейкой
Дано натуральное N (1&lt;=N&lt;=10). Заполнить матрицу размера N*N целыми числами 0, 1, 2, 3, …, N^2–1 в соответствии со схемой расположения. ...

Заполнение змейкой, массив не 2D!
Добрый день всем. вот получил задание по С++ заполнение змейкой, но не такое простое как кажется на первый взгляд( искал на форуме не...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru