Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2012, 17:52   #1
Incle
Новичок
Джуниор
 
Регистрация: 02.06.2012
Сообщений: 2
По умолчанию Двухмерный массив(змейки)

Всем привет, нужна помощь в трех программах(змейках).
Задача создать двухмерный массив 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;
}
Изображения
Тип файла: png змейки.PNG (5.6 Кб, 74 просмотров)
Incle вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двухмерный массив Kemb Общие вопросы C/C++ 6 14.11.2011 11:11
Двухмерный массив briko Паскаль, Turbo Pascal, PascalABC.NET 6 01.06.2010 09:45
Двухмерный массив... L_Killer Помощь студентам 4 28.05.2010 01:46
двухмерный массив Enchantner Паскаль, Turbo Pascal, PascalABC.NET 3 22.04.2008 20:47