IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Помогите пожалуйста исправить ошибки в программе.
hedgehog
сообщение 11.04.2012 14:09
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Женский

Репутация: -  0  +


Программа должна менять две строки в матрице. Другие программы мне не нужно, мне нужно исправить именно эту программу.
 Program lab_2;
const maxX=20;
const maxY=20;
type
m=array [1..maxX,1..maxY] of integer;
var mas:m;
razm:integer;
str1:integer;
str2:integer;
{-------------------------------------------------------------}
{Функция ввода размерности матрицы}
function Vvod_razm(var f_razm:integer);
var s:string;
code:integer;
begin
repeat
writeln('Введите размерность матрицы n,m=');
readln(s);
val(s,f_razm,code);
if (code<>0) then
writeln('Ошибка!Повторите ввод');
until code=0;
Vvod_razm:=f_razm;
end;
{-------------------------------------------------------------}
{Функция ввода номера первой строки для замены}
function Vvod_1_stroki(f_str1:integer):integer;
var s:string;
code:integer;
begin
repeat
writeln('Введите номер 1 строки' );
readln(s);
val(s,f_str1,code);
if (code<>0) then
writeln('Ошибка!Повторите ввод');
until code=0;
Vvod_1_stroki:=f_str1;
end;
{-------------------------------------------------------------}
{Функция ввода второй строки для замены}
function Vvod_2_stroki(f_str2:integer):integer;
var s:string;
code:integer;
begin
repeat
writeln('Введите номер 2 строки' );
readln(s);
val(s,f_str2,code);
if (code<>0) then
writeln('Ошибка!Повторите ввод');
until code=0;
Vvod_2_stroki:=f_str2;
end;
{-------------------------------------------------------------}
{Функция ввода матрицы}
Procedure Vvod_matrix(f_mas:m;f_razm:integer);
var i,j:integer;
begin
writeln('Введите значение матрициы');
for i:=1 to f_razm do
begin
for j:=1 to f_razm do
begin
writeln('элемент',' ',i,' ',j);
readln(f_mas[i,j]);
end;
end;
end;
{-------------------------------------------------------------}
{Процедура вывода матрицы}
Procedure OutputMatrix(n:integer; const f_mas:m;f_razm:integer);
var i,j:integer;
begin
writeln('Введённая матрица:' );
for i:=1 to f_razm do
begin
for j:=1 to f_razm do
begin
write(f_mas[i,j],' ');
end;
writeln;
end;
end;
{-------------------------------------------------------------}
{Функция перестановки двух строк}
Procedure Perestanovka(f_razm:integer; var f_mas:m;f_str1,f_str2:integer);
var i,tmp:integer;
begin
for i:=1 to f_razm do
begin
tmp:=f_mas[f_str1,i];
f_mas[f_str1,i]:=f_mas[f_str2,i];
f_mas[f_str2,i]:=tmp;
end;
end;
{-------------------------------------------------------------}
{Процедура вывода полученной матрицы}
procedure Vyvod ( const f_mas:m;f_razm:integer);
var i,j:integer;
begin
writeln('Результат' );
for i:=1 to f_razm do
begin
for j:=1 to f_razm do
begin
write(f_mas[i,j],' ');
end;
writeln;
end;
end;
{-------------------------------------------------------------}
{Главная программа}
begin
razm:=Vvod_razm();
Vvod_matrix(mas,razm);
str1:=Vvod_1_stroki;
str2:=Vvod_2_stroki;
Perestanovka(razm,mas,str1,str2);
Vyvod(mas,razm);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"