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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2008, 21:16   #1
Sanakan
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 47
По умолчанию Двумерный массив...хелп...

Помогите пожалуйста...Есть прога написана на паскале (Поворот двумерного массива на 180 градусов) надо переписать её на С++.Просто в С++ я 0... :\

const MMax=10;

type TMatrix = array[1..MMax,1..MMax] of integer;

var

A : TMatrix;
M, x, y, x2, y2, tmp, Center, count : integer;

begin
Write( 'Vvedite razmer matrix: ' );
readln(M);

for x:=1 to M do begin
Writeln( 'Vvedite elementi stroki ', x );
for y:=1 to M do read( A[ x, y ] );
end;

Writeln('Matrix:');

for x:=1 to M do begin
Write( '|' );
for y:=1 to M do Write( ' ', A[ x, y ], ' ' );
Write( '|' );
Writeln;
end;

Writeln;

Center := (M+1) div 2;

for x:=1 to Center do begin
x2:=M-(x-1);
if x=x2 then count:=Center
else count:=M;
for y:=1 to count do begin
y2:=M-(y-1);
tmp:=A[x2,y2];
A[x2,y2]:=A[x,y];
A[x,y]:=tmp;
end;
end;

Readln;
Writeln('Matrix na 180 gr:');
for x:=1 to M do begin
Write( '|' );
for y:=1 to M do Write( ' ', A[ x, y ], ' ' );
Write( '|' );
Writeln;
end;

Readln;
Writeln;
end.
Sanakan вне форума Ответить с цитированием
Старый 03.12.2008, 21:53   #2
palich
 
Регистрация: 30.11.2008
Сообщений: 4
По умолчанию

возми учебник и почитай... паскаль и С++ похожие языки, только оьозначения другие, если в паскале сам писал, то на С++ переделать не составит труда..
palich вне форума Ответить с цитированием
Старый 04.12.2008, 17:25   #3
Sanakan
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 47
По умолчанию

Почитал учебник и вроде бы все норм....перевел,но она не пашет:\
Мб где нибудь я допустил ошибку?

int main()
{
int a[10][10], m, x, y, x2, y2, tmp, Center, count;
clrscr();
cout<<"Vvedite razmer matrix"<<endl;
cin>>m;
cout<<"Vvedite matrix 4x4"<<endl;
for (x=0;x<m;x++)
for (y=0;y<m;y++)
cin>>a[x][y];
for (x=0;x<m;x++)
{cout<<endl;
for (y=0;y<m;y++)
cout<<setw(4)<<a[x][y];
}
cout<<endl;
Center = (m+1)/2;
for (x=0;x<Center;x++)
{
x2=m-(x-1);
if (x=x2)
count=Center;
else count=m;
for (y=0;y<count;y++)
{
y2=m-(y-1);
tmp=a[x2][y2];
a[x2][y2]=a[x][y];
a[x][y]=tmp;
}
}
for (x=0;x<m;x++)
{cout<<endl;
for (y=0;y<m;y++)
cout<<setw(4)<<a[x][y];
}
getch();
return 0;
}
Sanakan вне форума Ответить с цитированием
Старый 04.12.2008, 19:04   #4
StarWorm
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 233
По умолчанию

А что дааная прога должна делать то?! Та бы хоть объяснил что ли!
StarWorm вне форума Ответить с цитированием
Старый 04.12.2008, 21:42   #5
Sanakan
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 47
По умолчанию

Двумерный массив повернуть на 180 градусов т.е.:

Массив:
1 2 3
4 5 6
7 8 9

Массив на 180 градусов:
9 8 7
6 5 4
3 2 1

Последний раз редактировалось Sanakan; 05.12.2008 в 17:07.
Sanakan вне форума Ответить с цитированием
Старый 05.12.2008, 17:14   #6
Sanakan
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 47
По умолчанию

помогите разобраться \
Sanakan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный Массив n01R Помощь студентам 9 19.12.2009 16:41
Двумерный массив apetr Паскаль, Turbo Pascal, PascalABC.NET 2 30.11.2008 12:32
Двумерный массив... slim5 Помощь студентам 2 20.06.2008 23:16
Двумерный массив в С++ Draid Помощь студентам 2 07.03.2008 22:06