Главная » 2020 » Апрель » 10 » Матрица. Движение змейкой по строкам.
10:36
Матрица. Движение змейкой по строкам.

#include <iostream>
#include <ctime>
using namespace std;
void vvod(int **a, int n);
void vivod(int **a, int n);
void vivod_po_perimetr(int **a, int n);
void vivod_po_strokam_snake(int **a, int n);
int main()
{
    const int n=4;
    int **a=new int *[n];
    for (int i=0;i<n;i++) a[i]=new int[n];
    vvod(a,n);
    cout<<"Matrix A:"<<endl; vivod(a,n);
    vivod_po_strokam_snake(a,n);
    for (int i=0;i<n;i++) delete []a[i];
    delete a;
    system("pause");
}
void vivod_po_strokam_snake(int **a, int n)
{
    for (int i=0;i<n;) 
    {
        for (int j=0;j<n;j++) cout<<a[i][j]<<" ";
        i++;
        if (i<n)
            for (int j=n-1;j>=0;j--) cout<<a[i][j]<<" ";
        i++;
    }
    cout<<endl;
}
void vivod_po_perimetr(int **a, int n)
{
    for (int i=0;i<n;i++) cout<<a[i][0]<<" ";
    for (int j=0;j<n;j++) cout<<a[n-1][j]<<" ";
    for (int i=n-1;i>=0;i--) cout<<a[i][n-1]<<" ";
    for (int j=n-1;j>=0;j--) cout<<a[0][j]<<" ";
    cout<<endl;
}
void vvod(int **a, int n)
{
    srand(time(0));
    for (int i=0;i<n;i++)
        for (int j=0;j<n;j++)
            a[i][j]=rand()%10;
}
void vivod(int **a, int n)
{
     for (int i=0;i<n;i++)
     {
        for (int j=0;j<n;j++)
        {
            cout.width(3);
            cout<<left<<a[i][j];
        }
        cout<<endl;
     }
}

Просмотров: 302 | Добавил: denjes | Рейтинг: 0.0/0
Всего комментариев: 0
avatar