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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.05.2009, 19:24   #1
Defa4ka
Пользователь
 
Аватар для Defa4ka
 
Регистрация: 10.05.2009
Сообщений: 80
Сообщение решите, пожалуйста, задачки: двумерные массивы. Паскаль

1. В массиве 5х5 чисел. Найти номера столбцов,в которых есть положительные элементы.
2. В массиве n x n целых чисел найти:
- для каждой сроки максимальный элемент;
- среди элементов, стоящих ниже главной диагонали, положительные; вывести их номера;
- номера строк, у которых элементы главной диагонали равны 0.
P.s. И если можно обьясните немножко по ходу. Спасибо!
Величие человека есть его способность мыслить.
Блез Паскаль
Defa4ka вне форума
Старый 12.05.2009, 19:38   #2
bobby2008
Пользователь
 
Аватар для bobby2008
 
Регистрация: 13.04.2009
Сообщений: 37
По умолчанию

А сами пытались что-то сделать? Как вводится массив, вручную или рандомно?
bobby2008 вне форума
Старый 12.05.2009, 19:38   #3
__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] := 2-random(50);
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]:4);
		writeln;
	end;
end;

procedure find_positive(X:matrix);
var
	i,j:integer;
begin
	for i:=1 to n do
		for j:=1 to n do
			if (X[j,i] > 0) then begin
				writeln('Positive element in column ',i);
				break;
			end;
end;

var
	A:matrix;
	
begin
	fill_matrix(A);
	out_matrix(A);
	writeln;
	find_positive(A);
	readln;
end.
2-random(50); - потому что так меньше вероятность попадания в каждый столбец положительного эл-та и легче проверить правильность работы программы..
Все остальные проги буду дописывать как процедуры, ибо fill_matrix и out_matrix останутся.. это такой шаблон...
Uguu~
__STDC__ вне форума
Старый 12.05.2009, 19:44   #4
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
Сообщение от Defa4ka Посмотреть сообщение
- для каждой сроки максимальный элемент;
Код:
procedure find_max(X:matrix);
var
	i,j,max:integer;
begin
	for i:=1 to n do begin
		max := X[i,1];
		for j:=2 to n do
			if (X[i,j] > max) then max := X[i,j];
		writeln('Max in ',i,' row is ',max);
	end;		
end;
Цитата:
Сообщение от Defa4ka Посмотреть сообщение
- среди элементов, стоящих ниже главной диагонали, положительные; вывести их номера;
Код:
procedure find_positive_under_diag(X:matrix);
var
	i,j:integer;
begin
	for i:=2 to n do
		for j:=1 to i-1 do
			if (X[i,j] > 0) then 
				writeln('Positive element: ',X[i,j],' (',i,',',j,')');

end;
Цитата:
Сообщение от Defa4ka Посмотреть сообщение
- номера строк, у которых элементы главной диагонали равны 0.
Код:
procedure find_zero_on_diag(X:matrix);
var
	i:integer;
begin
	for i:=1 to n do
		if (X[i,i] = 0) then 
			writeln('Element in ',i,' row placed on main diagonal is zero');
end;
Uguu~

Последний раз редактировалось Stilet; 15.05.2009 в 09:07.
__STDC__ вне форума
Старый 12.05.2009, 20:10   #5
Defa4ka
Пользователь
 
Аватар для Defa4ka
 
Регистрация: 10.05.2009
Сообщений: 80
По умолчанию

значит fill и out останусься? А что это за процедуры? Объясни пожалуйста что там и до чего.. Потому что для меня это просто завал.. а завтра нужно будет показать что решила и как поняла. А я почтиии 'поняла'.. Мда.. Вот такие дела

спасибо большое!
Величие человека есть его способность мыслить.
Блез Паскаль

Последний раз редактировалось Stilet; 15.05.2009 в 09:07.
Defa4ka вне форума
Старый 12.05.2009, 20:15   #6
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

какие процедуры?) fill_ и out_? заполнение и вывод матрицы..
Uguu~
__STDC__ вне форума
Старый 12.05.2009, 20:27   #7
Defa4ka
Пользователь
 
Аватар для Defa4ka
 
Регистрация: 10.05.2009
Сообщений: 80
По умолчанию

0: в м0сс8в5 5E5 ч8с5л. Н0йт8 ном5р0 столбFов,в которыE 5стL поло68т5лLны5 Mл5м5нты. .?.))

а: в массиве 5х5 чисел. Найти номера столбцов,в которых есть положительные элементы. .?.))
Величие человека есть его способность мыслить.
Блез Паскаль

Последний раз редактировалось Stilet; 15.05.2009 в 09:08.
Defa4ka вне форума
Старый 12.05.2009, 20:28   #8
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

самый первый кусок кода, процедура find_positive
Uguu~
__STDC__ вне форума
Старый 12.05.2009, 20:29   #9
Defa4ka
Пользователь
 
Аватар для Defa4ka
 
Регистрация: 10.05.2009
Сообщений: 80
По умолчанию

ой, че эт было? В массиве 5х5 чисел. Найти номера столбцов,в которых есть положительные элементы.
Величие человека есть его способность мыслить.
Блез Паскаль
Defa4ka вне форума
Старый 12.05.2009, 20:31   #10
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

См. пост выше.
Uguu~
__STDC__ вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решите пожалуйста 2 задачки на Паскале!! AFA Помощь студентам 9 18.01.2012 11:42
Решите пожалуйста задачки по паскалю darika Помощь студентам 7 28.03.2009 16:51
Решите задачки по паскалю пожалуйста xxxBITxxx Паскаль, Turbo Pascal, PascalABC.NET 2 20.05.2008 16:48