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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2010, 09:10   #1
V@liK
Пользователь
 
Аватар для V@liK
 
Регистрация: 22.01.2010
Сообщений: 10
По умолчанию Двумерные массивы

Распечатать значение элементов строки из двумерного массива размерностью n и m с нaибольшeм количeством положитeльных элeмeнтов
V@liK вне форума Ответить с цитированием
Старый 04.02.2010, 09:34   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну например так:
Код:
MODULE ObxHello0;

	IMPORT StdLog;

	PROCEDURE Do2*;
	CONST n=4;m=4;
	VAR a:ARRAY(n) OF ARRAY(m) OF INTEGER;
	 q,w,maxp,mx,mxi:INTEGER;
	BEGIN StdLog.Clear;
	 maxp:=0;mxi:=0;mx:=0;
	 FOR q:=0 TO LEN(a)-1 DO 
   	 FOR w:=0 TO LEN(a[q])-1 DO
	   a[q,w]:=q*w;
	   IF a[q,w]>0 THEN INC(mx); END;
		StdLog.Int(a[q,w]); StdLog.Tab;
 	  END;
     IF mx>maxp THEN mxi:=q;maxp:=mx END;
	  StdLog.Ln;	(* вывод строки и 0DX в рабочий журнал *)
	 END;
	  StdLog.String('Максимальный элемент = ');
	 StdLog.Ln;	(* вывод строки и 0DX в рабочий журнал *)
	 
	  FOR q:=0 TO LEN(a[mxi])-1 DO
	   StdLog.Int(a[mxi,q]); StdLog.Tab;
 	 END;
	
	END Do2;
	
END ObxHello0.
ObxHello0.Do2
Вот результ:
Цитата:
0 0 0 0
0 1 2 3
0 2 4 6
0 3 6 9
Максимальный элемент = 0 3 6 9
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2010, 09:38   #3
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

2Stilet: Это на каком языке? Пиджин?
Почитайте теорию
psycho-coder вне форума Ответить с цитированием
Старый 04.02.2010, 09:46   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Это на каком языке?
Оберон.
Автору как раз подойдет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2010, 09:57   #5
V@liK
Пользователь
 
Аватар для V@liK
 
Регистрация: 22.01.2010
Сообщений: 10
По умолчанию

Понимаете у нас контрольная по Turbo pascal. можeт кто eщe идeи подкинeт?
V@liK вне форума Ответить с цитированием
Старый 04.02.2010, 10:00   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
по Turbo pascal
Все очень рады за тебя. Только недоумевают почему ты не указал это в задании.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2010, 10:05   #7
V@liK
Пользователь
 
Аватар для V@liK
 
Регистрация: 22.01.2010
Сообщений: 10
По умолчанию

Но все таки. Может кто нибудь что нибудь подкинуть?
V@liK вне форума Ответить с цитированием
Старый 04.02.2010, 10:12   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Может кто нибудь что нибудь подкинуть?
А что ссылка, которую psycho-coder дал мала?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2010, 10:22   #9
V@liK
Пользователь
 
Аватар для V@liK
 
Регистрация: 22.01.2010
Сообщений: 10
По умолчанию

спасибо всем.
V@liK вне форума Ответить с цитированием
Старый 04.02.2010, 10:48   #10
Kotlyar562
Пользователь
 
Аватар для Kotlyar562
 
Регистрация: 03.02.2010
Сообщений: 46
По умолчанию

Если еще актуально, то вот

Код:
program proect;
const n=3; m=3;
type matrica = array [1..n,1..m] of real;
     vector= array [1..n] of integer;
var a: matrica;
    i,j:integer;
procedure vvod (var a: matrica);
begin
  for i:=1 to n do
  for j:=1 to m do
  begin
    write('vvedit [',i,';',j,']=');
    readln (a[i,j]);
  end;
end;

procedure vuvod(a:matrica);
var v: vector;
    max:integer;
begin
  for i:=1 to n do
  begin
    v[i]:=0;
    for j:=1 to m do
    if a[i,j]>0 then v[i]:=v[i]+1;
  end;
  max:=v[1];
  for i:=2 to n do
    if v[i]>v[i-1] then max:=v[i];
  for i:=1 to n do
    if v[i]=max then
    begin
      for j:=1 to m do
        write(a[i,j]:0:2,' ');
      writeln;
    end;
end;
begin
  vvod(a);
  vuvod(a);
  readln;
end.

Последний раз редактировалось Stilet; 04.02.2010 в 11:10.
Kotlyar562 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерные массивы на С++ Wia Помощь студентам 11 17.05.2009 19:26
Двумерные массивы angelangel Общие вопросы C/C++ 2 22.12.2008 15:47
Массивы двумерные Nika_D Помощь студентам 3 19.01.2008 23:45
C++ Двумерные массивы АНЮТКА555 Помощь студентам 1 10.12.2007 12:42