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

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

06.03.2012, 16:31. Показов 1894. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru