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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2011, 20:19   #1
dizzy69
Пользователь
 
Регистрация: 18.02.2010
Сообщений: 10
Сообщение Заполнить матрицу

Заполнить матрицу, от левого верхнего угла по спирали: вниз - вправо - вверх - влево. Помогите очень нада!!!
dizzy69 вне форума Ответить с цитированием
Старый 20.12.2011, 02:18   #2
Yostek
Новичок
Джуниор
 
Регистрация: 20.12.2011
Сообщений: 1
По умолчанию

#include <iostream>
#include <iomanip>
#define N 9
using namespace std;
int mas[N][N];
int a=81;
void horizont1(int start, int end, int ryad)
{
for(int j=start; j<end; j++)
{
mas[ryad][j]=a;
a--;
}
}
void vertikal1(int start, int end, int stovp)
{
for(int i=start; i<end; i++)
{
mas[i][stovp]=a;
a--;
}
}
void horizont2(int start, int end, int ryad)
{
for(int j=end; j>=start; j--)
{
mas[ryad][j]=a;
a--;
}
}
void vertikal2(int start, int end, int stovp)
{
for(int i=end; i>=start; i--)
{
mas[i][stovp]=a;
a--;
}
}
void main()
{
int startH=0, endH=N, startV=1, endV=N, rad=0,stovb=N-1;

for(int i=0;i<5;i++)
{

horizont1(startH,endH,rad);
vertikal1(startV,endV,stovb);
horizont2(N-endH,7-startH,8-rad);
vertikal2(10-endV,8-startV,8-stovb);
startH++;
endH--;
rad++;
startV++;
endV--;
stovb--;



}



for(int i=0; i<N; i++)
{
for(int j=0; j<N; j++)
{
cout<<setw(4)<<mas[i][j];
}
cout<<endl;
}
}
Yostek вне форума Ответить с цитированием
Старый 23.12.2011, 23:00   #3
dizzy69
Пользователь
 
Регистрация: 18.02.2010
Сообщений: 10
По умолчанию

пасиба всем кто помог но я уже сам зделал прогу вот прошу любить и жалувать

#include "stdafx.h"

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
const int MAXX = 9;
const int MAXY = 9;
int A[MAXX][MAXY];
int maxx = MAXX-1;
int maxy = MAXY-1;
int minx = 0;
int miny = 0;
int counter = 1;

while (maxx>=minx && maxy>=miny)
{

for (int i=miny;i<maxy;i++)
A[minx][i] = counter++;
for (int i=minx;i<=maxx;i++)
A[i][maxy] = counter++;
for (int i=maxy-1;i>=miny;i--)
A[maxx][i] = counter++;
for (int i=maxx-1;i>=minx+1;i--)
A[i][miny] = counter++;
maxx--;
maxy--;
minx++;
miny++;
}
for (int j=0;j<MAXY;j++)
{
for (int i=0;i<MAXX;i++)
cout << setw(3) << A[i][j];
cout << endl;
}
system("PAUSE");
return 0;
};
dizzy69 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнить матрицу Artoo Помощь студентам 2 04.12.2011 12:08
заполнить квадратную матрицу Orakyll08 Помощь студентам 13 12.07.2011 01:46
Заполнить квадратную матрицу ac1d_buRn Помощь студентам 3 22.12.2010 19:40
Заполнить матрицу по спирали kloffelin Общие вопросы C/C++ 4 03.05.2010 13:37
Матрицу K(m,n) заполнить следующим образом farrrell Фриланс 4 20.02.2010 22:10