1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Вопросы новичков и не только", создана пользователем Incle, 2 июн 2012.

  1. Incle

    Incle Гость

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

    Код:
    #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);
    
    }
    Код:
    #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;
    }
    Код:
    #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;
    }


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

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