Двухмерный Массив(змейки)

Тема в разделе "C/C++/C#", создана пользователем Incle, 2 июн 2012.

  1. Incle

    Incle Гость

    Всем привет, нужна помощь в трех программах(змейках).
    Задача создать двухмерный массив n*n(можно n*m), обнулить его, после чего заполнить его единицами в последовательностях а,б,в(на рисунке показано), а потом вывести цифры так как показано на рисунке.
    Вот мои варианты решения трех этих задач.
    А вот как вывести на экран цифры в заданных последовательностях я не знаю.

    Код (C++):
    #include <iostream>
    #include <iomanip>
    #include <windows.h>
    // расширение функционала iostream,
    // в частности setw()
    using namespace std;

    int main()
    {
    int const n=4;
    int const m=4;

    int Arr[n][m]= {0};
    int i=0, j, k = 0, p=1;

    while (i < n*m) /*Цикл по номеру витка*/
    {
    k++;
    for (j=k-1;j<m-k+1;j++)
    {
    Arr[k-1][j]=p++;
    i++;
    }  /*Определение значений верхнего гор столбца*/
    for (j=k;j<n-k+1;j++)
    {
    Arr[j][m-k]=p++;
    i++;
    }  /* --//-- По правому вертикальному столбцу*/

    for (j=m-k-1;j>=k-1;j--)
    {
    Arr[n-k][j]=p++;
    i++;
    }  /* --//-- по нижнему горизонтальному столбцу*/

    for (j=n-k-1;j>=k;j--)
    {
    Arr[j][k-1]=p++;
    i++;
    }  /* --//-- по левому вертикальному столбцу*/

    }

    for (int q=0; q<n; q++)
    {
    for (int w=0; w<m; w++)
    {
    cout << setw(4) << Arr[q][w];
    }
    cout << endl;
    }
    system("pause");
    return(0);

    }
    Код (C++):
    #include <iostream>
    #include <iomanip>
    using namespace std;


    int main()
    {
    int i, j, m, n, k;
    cout<<"Enter Rows in matrix : ";
    cin>>m;
    cout<<"Enter Cols in matrix : ";
    cin>>n;
    int ** arr = new int * [m];
    for(k = 1, i = 0; i < m; i++)
    {
    arr[i] = new int[n];
    if(i % 2 == 0)
    {
    for(j = 0; j < n; j++)
    arr[i][j] = k++;
    }
    else
    {
    for(j = n - 1; 0 <= j; j--)
    arr[i][j] = k++;
    }
    for(j = 0; j < n; j++)
    cout<<setw(3)<<arr[i][j]<<" ";
    cout<<endl;
    }
    system("pause");
    return 0;
    }
    Код (C++):
    #include <iostream>
    #include <iomanip>
    #include<stdio.h>
    int main()
    {
    int A[4][4],i,j,k=1;
    for(j=0;j<4;j++)
    {
    if (j%2 == 0)
    {
    for (i = 3; i > -1; i--)
    {
    A[j][i] = 17-k;
    k++;
    }
    }
    else
    {
    for (i = 0; i < 4; i++)
    {  
    A[j][i] = 17-k;
    k++;
    }
    }

    }

    for(j=0;j<4;j++)
    {
    printf("\n");
    for(i=0;i<4;i++)
    printf("%4d",A[i][j]);
    printf("\n");
    }
    system("pause");
    return 0;
    }


    змейки.PNG
     
Загрузка...
Похожие Темы - Двухмерный Массив(змейки)
  1. MMN
    Ответов:
    14
    Просмотров:
    5.107
  2. KiR
    Ответов:
    3
    Просмотров:
    4.180

Поделиться этой страницей