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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2009, 12:42   #1
Кипятилка
 
Регистрация: 27.06.2009
Сообщений: 9
Вопрос массивы в паскале

всё никак не решается задача:
Дана действительная квадратная матрица порядка n. Преобразовать матрицу по следующему правилу: строку с номером n сделать столбцом с номером n, а столбец с номером n строкой с номером n.
не могу сделать так, чтобы ее порядок задавался пользователем.,
вот мой код:

Program P_1;
const n = ...;(здесь надо исправить, только как?)
var a: array [1..n] of array [1..n] of integer;
n,m,k,j,tmp:integer;
begin
randomize;
Writeln('vvedite razmer matricy - n:');
Readln(n);
for j:1 to n do begin
tmp=mas[k,j];
writeln('ishodnaya matrica',tmp);
mas [k,j]=mas[j,k];
mas[j,k]=tmp;
write('preobrazovannaya matrica',tmp)
end;

не первый раз пишу задачу, уж извините, но не работает!
Кипятилка вне форума Ответить с цитированием
Старый 04.07.2009, 13:05   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

во-первых у вас дублируется идентификатор n.. во-вторых нельзя константе присваивать значения по ходу выполнения программы.. если хотите работать с матрицами произвольных размеров, используйте динамические массивы
и зачем там randomize; если вы нигде не используете random?

***
еще.. действительная матрица - матрица элементов типа real
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 04.07.2009, 15:06   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Просто выкиньте эту строку совсем
Цитата:
const n = ...;(здесь надо исправить, только как?)
puporev вне форума Ответить с цитированием
Старый 04.07.2009, 15:17   #4
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Просто выкиньте эту строку совсем
если убрать эту строку, вот это
Код:
a: array [1..n] of array [1..n] of integer;
потеряет весь смысл.. точнее все остатки смысла, которого в этой программе и так не оч. много
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 04.07.2009, 15:19   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Для особливо догадливых добавлю, а в строке
Цитата:
a: array [1..n] of array [1..n] of integer;
замените n на, например, 100.
puporev вне форума Ответить с цитированием
Старый 04.07.2009, 15:22   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Или, на всякий случай, если нужна константа, напишите
Код:
const nmax=100;
var a:array[1..nmax,1..nmax] of integer;
     n:byte;
begin
repeat
write('Размер массива n=');
readln(n);
until n in [1..nmax];
puporev вне форума Ответить с цитированием
Старый 04.07.2009, 15:27   #7
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Для особливо догадливых добавлю, а в строке

замените n на, например, 100.
Я вас чем-то обидел? Или что?
Uguu~
__STDC__ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы в Паскале Dartchuwak Помощь студентам 3 13.12.2009 12:06
Массивы в Турбо Паскале mela Помощь студентам 2 01.05.2009 13:57
Массивы в паскале xSPiRiTx Помощь студентам 8 04.03.2009 18:08