![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Jaren |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Денис Репутация: ![]() ![]() ![]() |
Faq прочел ( но не смог решить). В поиске похожую тоже не нашел.
Составить программу перестановки четных и нечетных столбцов элементов матрицы. Перестановку столбцов оформить в виде процедуры |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата В поиске похожую тоже не нашел. Плохо искал... Описываешь матрицу так, как это сделано здесь:Программирование с использованием файлов А потом просто меняешь столбцы с четными и нечетными индексами местами... Вот так: for i := 1 to (size_col div 2) do begin { size_col - число столбцов !!! }
swap_cols(mx, 2*i - 1, 2*i);
end;
|
Jaren |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Денис Репутация: ![]() ![]() ![]() |
volvo спасибо
но... я очень слабоват в Паскале ( я попытался сделать, но не вышло (( если не сложно - распиши как это сделать. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Можно посмотреть, как именно ты пытался сделать? Покажи код, что неправильно - поправим...
|
Jaren |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Денис Репутация: ![]() ![]() ![]() |
program smena;
uses crt;
const
size_row = 4;
size_col = 7;
type
trow = array[1..size_row] of integer;
tmatrix = array[1..size_col] of trow;
procedure swap_cols(var mx: tmatrix;
const i; j:integer);
var T: trow;
begin
T:= mx[i]; mx[i] := mx[j]; mx[j] := T
end;
var
mx:tmatrix;
i,j:integer;
n,z :integer;
begin
for i:=1 to (size_col div 2) do begin
swap_cols(mx,2*i-1,2*i);
end.
вот ) как видно - я действительно в нем слабоват ) и даже очень |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Заполнять матрицу надо... А так все очень даже рабочее...
Вот так будет выглядеть основная программа: begin
for i := 1 to size_col do
for j := 1 to size_row do begin
write('mx[', j:2, i:2, '] = '); readln(mx[i, j]); { <--- матрица вводится по столбцам !!! }
end;
print(mx); { До обмена }
for i:=1 to (size_col div 2) do
swap_cols(mx,2*i-1,2*i);
writeln;
print(mx); { После обмена }
end.
(процедуру Print забери по той же ссылке) |
Jaren |
![]()
Сообщение
#7
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Денис Репутация: ![]() ![]() ![]() |
program smena;
uses crt;
const
size_row = 4;
size_col = 7;
type
trow = array[1..size_row] of integer;
tmatrix = array[1..size_col] of trow;
procedure swap_cols(var mx: tmatrix;
const i; j:integer);
var T: trow;
begin
T := mx[i]; mx[i] := mx[j]; mx[j] := T
end;
procedure print(var mxL tmatrix);
var i,j:integer;
begin
for i:=1 tp size_row do
begin
for j:=1 to size_col do
write(mx[j][i]:4);
writeln
end;
end;
var
mx:tmatrix;
i,j:integer;
n,z :integer;
begin
for i:=1 to size_col do
for j:=1 to size_row do begin
write('mx[',j:2,i:2,']=');
readln(mx[i,j];
end;
print(mx);
for i:=1 to (size_col div 2) do
swap_cols(mx,2*i-1,2*i);
writeln;
print(mx);
end.
пишет 26 ошибку в этой строке T := mx[i]; mx[i] := mx[j]; mx[j] := T
Прикрепил файл программы Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
procedure swap_cols(var mx: tmatrix;
const i, j:integer); { <--- Между I и J должна быть запятая, а не точка с запятой... }
Добавлено через 1 мин. procedure print(var mx: tmatrix); { а здесь - двоеточие а не L }
Ты что, перепечатываешь вручную текст? Скопировать нельзя было? Ошибки же вносишь...Сообщение отредактировано: volvo - 20.12.2007 15:28 |
Jaren |
![]()
Сообщение
#9
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Денис Репутация: ![]() ![]() ![]() |
ды в ручную )
Спасибо большое volvo |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 2:57 |