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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2009, 13:13   #1
НАСТЯ 18:)
Пользователь
 
Аватар для НАСТЯ 18:)
 
Регистрация: 08.05.2009
Сообщений: 34
Восклицание ПОСМОТРИТЕ, ПОЖАЛУЙСТА, ПРОГРАММЫ НА ЯЗЫКЕ ПАСКАЛЬ!! СРОЧНО!! ЕСТЬ НАРАБОТКИ)

1. Поменять местами элементы главной диагонали и первой строки.
2. Создать одномерный массив, элементы которого являются min каждого стоблца двумерного массива.

Последний раз редактировалось НАСТЯ 18:); 10.05.2009 в 13:55.
НАСТЯ 18:) вне форума Ответить с цитированием
Старый 10.05.2009, 13:17   #2
НАСТЯ 18:)
Пользователь
 
Аватар для НАСТЯ 18:)
 
Регистрация: 08.05.2009
Сообщений: 34
По умолчанию

Вот что у меня получилось по второй задаче:
Var
I,j: integer;
M: array[1..5,1..5] of integer;
Min: array[1..5] of integer;
Begin
Writeln (‘ввести элементы массива’);
For i:=1 to 5 do
For j:=1 to 5 do
Read(M[I,j]);
For j:=1 to 5 do
Min[j]:=M[1,j];
For i:=1 to 5 do
For j:=1 to 5 do
If Min[j]>M[I,j] then
Begin
Min[j]:=M[I,j];
For j:=1 to 5 do
Writeln (‘[‘,min[j],’]’);
Readln;
End.
только программа не работает
НАСТЯ 18:) вне форума Ответить с цитированием
Старый 10.05.2009, 13:23   #3
НАСТЯ 18:)
Пользователь
 
Аватар для НАСТЯ 18:)
 
Регистрация: 08.05.2009
Сообщений: 34
По умолчанию

вот мои наработки по первой задаче:
program pr1;
var
i,j: integer;
M: array[1..5,1..5] of integer;
begin
writeln('vvectu ilementu maccuba');
for i:=1 to 5 do
for j:=1 to 5 do
read(M[i,j]);
begin
for i:=1 to 5 do
for j:=1 to 5 do
M[i,i]:=M[1,j];
writeln('maccub',M[i,j]);
end;
readln;
end.
НАСТЯ 18:) вне форума Ответить с цитированием
Старый 10.05.2009, 13:47   #4
НАСТЯ 18:)
Пользователь
 
Аватар для НАСТЯ 18:)
 
Регистрация: 08.05.2009
Сообщений: 34
По умолчанию

Помогите! ... ну хоть кто-нибудь(((
НАСТЯ 18:) вне форума Ответить с цитированием
Старый 10.05.2009, 13:57   #5
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

Код:
program pr1;
var
i,j,K: integer;
M: array[1..5,1..5] of integer;
begin
writeln('vvectu ilementu maccuba');
for i:=1 to 5 do
for j:=1 to 5 do
read(M[i,j]);
begin
for i:=1 to 5 do
 begin
  K:=M[i,i];
  M[i,i]:=M[1,i];
  M[1,i]:=K; 
 end;
// Вывод массива M[i,j]
end;
readln;
end.
Жми на весы!!!

Последний раз редактировалось Chudo4258; 10.05.2009 в 14:00.
Chudo4258 вне форума Ответить с цитированием
Старый 10.05.2009, 13:58   #6
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Код:
const
	n = 5; 
	
type
	matrix = array[1..n,1..n] of integer;

procedure fill_matrix(var X:matrix);	
var 
	i,j:integer;
begin
	randomize;
	for i:=1 to n do
		for j:=1 to n do
			X[i,j] := random(100);
end;

procedure change(var X:matrix);
var
	i,tmp:integer;
begin
	for i:=1 to n do begin
		tmp := X[i,i];
		X[i,i] := X[1,i];
		X[1,i] := tmp;
	end;
end;

procedure out_matrix(X:matrix);
var
	i,j:integer;
begin
	for i:=1 to n do begin
		for j:=1 to n do
			write(X[i,j]:3);
		writeln;
	end;
end;

var
	A:matrix;
begin
	fill_matrix(A);
	out_matrix(A);
	change(A);
	writeln;
	out_matrix(A);
	readln;
end.
мой вариант первой.. без лишнего цикла (по j), со случайным заполнением массива (25 чисел с клавиатуры вводить.... неудобно немножко)
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 10.05.2009, 14:02   #7
НАСТЯ 18:)
Пользователь
 
Аватар для НАСТЯ 18:)
 
Регистрация: 08.05.2009
Сообщений: 34
По умолчанию

А обязательно константу вводить?
НАСТЯ 18:) вне форума Ответить с цитированием
Старый 10.05.2009, 14:04   #8
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

нет, она облегчает просто все.. чтобы изменить размерность матрицы достаточно будет поменять константу в одном месте... если ее не будет придется везде менять..
вторая задача: добавить процедуру
Код:
procedure create_arr(var X:min_arr; Y:matrix);
var
	i,j:integer;
begin
	for i:=1 to n do begin
		X[i] := 100;
		for j:=1 to n do 
			if (Y[j,i] < X[i]) then X[i] := Y[j,i];
		write(X[i]:3);
	end;
end;
естественно X[i] изначально нужно брать по меньшей мере равным максимальному элементу матрицы.. или большим) Или еще лучше делать X[i] := Y[1,i]; (вместо X[i] := 100; ), вот =)
Uguu~

Последний раз редактировалось __STDC__; 10.05.2009 в 14:11.
__STDC__ вне форума Ответить с цитированием
Старый 10.05.2009, 14:10   #9
НАСТЯ 18:)
Пользователь
 
Аватар для НАСТЯ 18:)
 
Регистрация: 08.05.2009
Сообщений: 34
По умолчанию

Значит 2ая программа имеет вид:
Program pr2;
const
n = 5;
procedure create_arr(var X:min_arr; Y:matrix);
var
i,j:integer;
begin
for i:=1 to n do begin
X[i] := 100;
for j:=1 to n do
if (Y[j,i] < X[i]) then X[i] := Y[j,i];
write(X[i]:3);
end;
end;

type
matrix = array[1..n,1..n] of integer;

procedure fill_matrix(var X:matrix);
var
i,j:integer;
begin
randomize;
for i:=1 to n do
for j:=1 to n do
X[i,j] := random(100);
end;

procedure change(var X:matrix);
var
i,tmp:integer;
begin
for i:=1 to n do begin
tmp := X[i,i];
X[i,i] := X[1,i];
X[1,i] := tmp;
end;
end;

procedure out_matrix(X:matrix);
var
i,j:integer;
begin
for i:=1 to n do begin
for j:=1 to n do
write(X[i,j]:3);
writeln;
end;
end;

var
A:matrix;
begin
fill_matrix(A);
out_matrix(A);
change(A);
writeln;
out_matrix(A);
readln;
end.
????
НАСТЯ 18:) вне форума Ответить с цитированием
Старый 10.05.2009, 14:12   #10
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

не совсем.. процедуру надо добавить.. ну не знаю.. в конец что ли, после процедуры out_matrix и еще изменить раздел type вот так (забыл в первом посте написать =) ):
Код:
type
	matrix = array[1..n,1..n] of integer;
	min_arr = array[1..n] of integer;
и это будет не вторая, а обе вместе =) вообще твои программы это процедуры change и create_arr.. остальное просто так.. для красоты.. это уж как тебе удобнее будет можешь переделывать
Ну и еще конечно надо не забыть вызвать процедуру create_arr
Uguu~

Последний раз редактировалось __STDC__; 10.05.2009 в 14:18.
__STDC__ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ЗАДАЧА НА ПОСЛЕДОВАТЕЛЬНОСТЬ ЧИСЕЛ. ПОМОГИТЕ ПОЖАЛУЙСТF НАПИСАТЬ ПРОГРАММУ НА ЯЗЫКЕ ПАСКАЛЬ владимир/к. Помощь студентам 2 21.01.2009 03:03
Помогите решить 3 задачи на языке Турбо-Паскаль rpg Помощь студентам 3 23.11.2007 20:13
Помогите написать программу...На языке паскаль sher_man Помощь студентам 2 21.11.2007 14:10