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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Olga1609
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 6
#1

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

21.06.2010, 09:23. Просмотров 605. Ответов 11
Метки нет (Все метки)

Здравствуйте. В общем необходима помощь в написании программы.
Мне нужно переделать программу под С++ 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2010, 09:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рпабота с матрицами [C++ 4.5] [Pascal] (C++):

Операции с матрицами в Pascal - Pascal
Здравствуйте!Помогите пожалуйста с написанием программы для следующей задачи: Дана матрица размера 3х4.Составить программу для просчета...

Действия над матрицами (Pascal) - Lazarus
Мне нужно создать программу в Lazarus-е которая будет проводить действия над матрицами(умножение, сложение и тд) если у вас завалялись...

Курсовая "разработка программы с матрицами" в Free Pascal - Free Pascal
Исходные данные: 1. нечетная квадратная матрица размерностью m*n 2. начальные значения элементов матрицы нулевые. 3. Индивидуальное...

Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET - в чем разница? - Pascal
Всем привет, решил изучать Паскаль, но на форуме увидел 4 его версии - Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET и не понял, в...

Различия трансляторов Pascal ABC.Net и Turbo/Borland Pascal - Pascal
Пожалуйста, объясните различия между компиляторами Pascal ABC.Net и Turbo/Borland Pascal

Нужно перевести код с Pascal ABC на Turbo Pascal - рисование работающей мельницы - Turbo Pascal
Вот код, он должен рисовать работающею мельницу. uses graphABC,crt; type point=record x,y:integer; end; ...

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

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

Добавлено через 19 часов 40 минут
Сегодня, после установки winXP, эта программа продолжает выдавать эту ошибку (ошибка в стеке...) Помогите пожалуйста!
0
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
22.06.2010, 11:37 #12
Цитата Сообщение от Olga1609 Посмотреть сообщение
Сегодня, после установки winXP, эта программа продолжает выдавать эту ошибку (ошибка в стеке...) Помогите пожалуйста!
Как вариант можно уменьшить MAX_N, MAX_M.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2010, 11:37
Привет! Вот еще темы с ответами:

Из множества выбрать три различные точки по условию -из Turbo Pascal во Free Pascal - Turbo Pascal
Даны 2 множества точек на плоскости. Выбрать три различные точки первого множества так, чтобы круг ограниченный окружностью , проходящий...

Список слов распечатать в алфавитном порядке. В Turbo Pascal или Pascal ABC - Turbo Pascal
Дана непустая последовательность слов, в каждом из которых содержится от 1 до 6 заглавных латинских букв; соседние слова разделены запятой,...

Можно как-то переделать код из Turbo Pascal чтобы он работал в pascal abc.net? - PascalABC.NET
Сделайте пожалуйста, я просто не вникаю uses Graph, Crt; var grDriver: integer; grMode: integer; ErrCode: integer; ...

Перевести в код Pascal ABC из кода Pascal Delphi - Pascal ABC
Помогите перевести в код ABC а то с Delphi вообще не знаком. Задание было такое: Записать в файл последовательного доступа N...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.06.2010, 11:37
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru