Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
#1

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

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

Пытаюсь написать решение для задачи, чтобы выводила матрицу в таком виде
0
Изображения
 
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2012, 16:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрица змейкой (C++):

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

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

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим - C++
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

Управление змейкой - C++
#include <conio.h> #include <stdio.h> #include <stdlib.h> #include <time.h> #include <graphics.h> #define N 30 #define M 20 ...

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

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

4
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
06.03.2012, 16:32  [ТС] #2
Собственно код:
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ил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
09.03.2012, 23:57 #3
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
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
10.03.2012, 00:08  [ТС] #4
Ну кто нить может точно сделать((((
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.03.2012, 12:36 #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
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
Миниатюры
Матрица змейкой  
10.03.2012, 12:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2012, 12:36
Привет! Вот еще темы с ответами:

Заполнение матрицы змейкой - C++
Подскажите как мне изменить код #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { int n; ...

Заполнение массива змейкой - C++
Заполнить массив змейкой; 1 3 4 10 11 21 2 5 9 12 20 22 6 8 13 19 23 30 7 14 18 24 29 31 15 17 25 28 32 35 16 26 27 33 34 36 ...

Заполнить матрицу змейкой - C++
Простая задача. Заполнить матрицу змейкой. Я совершенный новичок. Только начали проходить функции, указатели еще не проходили. Если можно...

Отсортировать массив змейкой - C++
Есть массив, который заполняется случайными числами (допустим, 0-9). Отсортировать его по невозрастанию (каждый следующий элемент не...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.