Форум программистов, компьютерный форум CyberForum.ru

Рпабота с матрицами [C++ 4.5] [Pascal] - C++

Восстановить пароль Регистрация
 
Olga1609
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 6
21.06.2010, 09:23     Рпабота с матрицами [C++ 4.5] [Pascal] #1
Здравствуйте. В общем необходима помощь в написании программы.
Мне нужно переделать программу под С++ 4.5 (на нем эта программа находит много ошибок), а также на pascal, у меня ничего не получается, поэтому прошу вашей помощи.

Задание
Составить программы на двух языках программирования C ++ 4.5 и Pascal
Осуществить циклическое сдвиги элементов квадратной матрицы размерности М х N вправо на k эле-ментов таким образом: элементы 1-й строки сдвигаются в последний столбец сверху вниз, из него - в последнюю строку справа налево, с ее - в первый столбец снизу вверх, из него - в первую строку, для других элементов - аналогично.

вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <iostream>
#include <cstdlib>
 
#define MAX_N 100
#define MAX_M 100
 
using namespace std;
 
void cout_matrix(int mtrx[MAX_M][MAX_N], int& _M, int& _N)
{
int q1, q2;
for(q1=0; q1<_N; q1++)
{
for(q2=0; q2<_M; q2++)
{
cout<<mtrx[q2][q1]<<" ";
};
cout<<endl;
};
cout<<endl;
return;
};
 
void cin_matrix(int matr[MAX_M][MAX_N], int& M, int& N)
{
int k1, k2;
cout<<"Type number of columns (width of the matrix): "<<endl;
cin>>M;
cout<<"Type number of rows (height of the matrix): "<<endl;
cin>>N;
cout<<endl;
cout<<"Type matrix elements."<<endl;
for(k1=0; k1<N; k1++)
{
cout<<" "<<k1+1<<" row"<<endl;
for(k2=0; k2<M; k2++)
{
cout<<" "<<k2+1<<" element= ";
cin>>matr[k2][k1];
};
};
cout<<"Your matrix: "<<endl;
cout_matrix(matr, M, N);
return;
};
 
void prev_ind(int& _n, int& _m, int size_n, int size_m)
{
--size_m;
--size_n;
if((_m>0) && (_n==0))
{
--_m;
return;
};
if((_m<size_m) && (_n==size_n))
{
++_m;
return;
};
if((_m==size_m) && (_n>0))
{
--_n;
return;
};
if((_m==0) && (_n<size_n))
{
++_n;
return;
};
return;
};
 
void rotate(int matr[MAX_M][MAX_N], int& M, int& N, int quantity)
{
int k1, k2;
int i, j, prev_i, prev_j, buf;
for(k2=0; k2<quantity; k2++)
{
i=0;
j=0;
prev_i=i;
prev_j=j;
buf=matr[0][0];
for(k1=0; k1<(2*M+2*N-4-1); k1++)
{
prev_ind(prev_i, prev_j, N, M);
matr[j][i]=matr[prev_j][prev_i];
i=prev_i;
j=prev_j;
};
matr[1][0]=buf;
};
return;
};
 
int main()
{
int m,n;
int k;
int matrix[MAX_M][MAX_N];
cin_matrix(matrix, m, n);
cout<<"Type k: ";
cin>>k;
rotate(matrix, m, n, k);
cout<<"Rotated:"<<endl;
cout_matrix(matrix, m, n);
//~~~~~~~~~~~~~~~~~~~
cout<<endl;
system("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2010, 09:23     Рпабота с матрицами [C++ 4.5] [Pascal]
Посмотрите здесь:

C++ Операции с матрицами
C++ Работа с матрицами
C++ Программа с матрицами
Операции с Матрицами C++
Работа с матрицами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
21.06.2010, 10:38     Рпабота с матрицами [C++ 4.5] [Pascal] #2
Цитата Сообщение от Olga1609 Посмотреть сообщение
#include <iostream>
#include <cstdlib>
В билдере
C++
1
2
#include <iostream.h>
#include <stdlib.h>
using namespace std; убрать.
Olga1609
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 6
21.06.2010, 11:26  [ТС]     Рпабота с матрицами [C++ 4.5] [Pascal] #3
После этих операций была найдена ошибка в строке
C++
1
cout<<" "<<k1+1<<" row"<<endl;
Underfined symbol _system in module NONAME00.CPP
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
21.06.2010, 12:56     Рпабота с матрицами [C++ 4.5] [Pascal] #4
Вряд ли в этой строке
Цитата Сообщение от Olga1609 Посмотреть сообщение
Underfined symbol _system in module NONAME00.CPP
Ругается он на функцию system, ее можно убрать, и после закрывающих фигурных скобок не надо ставить точку с запятой.
Olga1609
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 6
21.06.2010, 13:40  [ТС]     Рпабота с матрицами [C++ 4.5] [Pascal] #5
но теперь появилось вот что =(
Название: fb19f76e647e.jpg
Просмотров: 26

Размер: 17.4 Кб
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
21.06.2010, 13:42     Рпабота с матрицами [C++ 4.5] [Pascal] #6
Хм...А ОС какая стоит?
Olga1609
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 6
21.06.2010, 13:47  [ТС]     Рпабота с матрицами [C++ 4.5] [Pascal] #7
windows 7 ultimate, оригинальная сборка
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
21.06.2010, 13:51     Рпабота с матрицами [C++ 4.5] [Pascal] #8
Насколько я знаю билдер 6 и ниже неадекватно себя ведет под Вистой и выше.
Olga1609
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 6
21.06.2010, 13:54  [ТС]     Рпабота с матрицами [C++ 4.5] [Pascal] #9
Хорошо, сегодня переставлю, спасибо за помощь, а как насчет паскаля? Прошу помощи просто с ним вообще не знакома
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
21.06.2010, 13:57     Рпабота с матрицами [C++ 4.5] [Pascal] #10
Если только вечером. Щас времени нет.
Olga1609
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 6
22.06.2010, 09:46  [ТС]     Рпабота с матрицами [C++ 4.5] [Pascal] #11
Спасибо, буду ожидать

Добавлено через 19 часов 40 минут
Сегодня, после установки winXP, эта программа продолжает выдавать эту ошибку (ошибка в стеке...) Помогите пожалуйста!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2010, 11:37     Рпабота с матрицами [C++ 4.5] [Pascal]
Еще ссылки по теме:

C++ Операции с матрицами
C++ работа с матрицами
Операции с матрицами C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
22.06.2010, 11:37     Рпабота с матрицами [C++ 4.5] [Pascal] #12
Цитата Сообщение от Olga1609 Посмотреть сообщение
Сегодня, после установки winXP, эта программа продолжает выдавать эту ошибку (ошибка в стеке...) Помогите пожалуйста!
Как вариант можно уменьшить MAX_N, MAX_M.
Yandex
Объявления
22.06.2010, 11:37     Рпабота с матрицами [C++ 4.5] [Pascal]
Ответ Создать тему
Опции темы

Текущее время: 00:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru