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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2008, 11:47   #1
Дима82
Форумчанин
 
Аватар для Дима82
 
Регистрация: 09.05.2008
Сообщений: 108
По умолчанию Двумерные массивы (Pascal)

Найти минимальный элемент в заданной строке матрицы...

Код:
Program Lab5;
Uses crt;
Const M=5;
      N=5;
Var A: array[1..M,1..N] of real;
    C: array[1..M] of real;
    P,I:1..M;
    Q,J:1..N;
    min:real;
Begin
 Clrscr;
 Write('BBedite razmernost matricy ne bolee 5*5: ');
 Readln(P,Q);
 Writeln('BBedite elementy matricy: ');
 For I:=1 to P do
  For J:=1 to Q do
  Begin
   Write('A[',I: 1,',',J: 1,']=');
   Readln(A[I,J])
  End;
 Writeln('Kontrolnyi Byvod matricy: ');
 For I:=1 to P do
 Begin
  For J:=1 to Q do Write (A[I,J]:4:2,'':3);
  Writeln;
 End;
 Writeln('Minimalnyi elementy matricy: ',min:4:2,'':3);
 min:=A[I,1];
 For I:=1 to P do
 For J:=1 to Q do
 if A[I,J]<min then begin
 min:=A[i,1];
 End;
Readkey
End.
Помогите подправить программу...
Дима82 вне форума Ответить с цитированием
Старый 07.06.2008, 12:04   #2
Xardas
Сисадмин
Форумчанин
 
Аватар для Xardas
 
Регистрация: 28.12.2007
Сообщений: 320
По умолчанию

Код:
//..........
for i:=1 to p do
begin
       min:=A[i,1]; //берем за первоначальное значение мин. элемента первый элемент каждой строки
       for j:=2 to q do
       if A[i,j]<min 
       then
             begin
             min:=A[i,j];
             C[i]:=min; //заносим минимальный элемент каждой строки в одномерный массив
             end;
end;
//............
Где-то так...
Xardas вне форума Ответить с цитированием
Старый 07.06.2008, 13:22   #3
Дима82
Форумчанин
 
Аватар для Дима82
 
Регистрация: 09.05.2008
Сообщений: 108
По умолчанию

Не получается...
Код:
Program Lab5;
Uses crt;
Const M=5;
      N=5;
Var A: array[1..M,1..N] of real;
    C: array[1..M] of real;
    P,I:1..M;
    Q,J:1..N;
    min:real;
Begin
 Clrscr;
 Write('BBedite razmernost matricy ne bolee 5*5: ');
 Readln(P,Q);
 Writeln('BBedite elementy matricy: ');
 For I:=1 to P do
  For J:=1 to Q do
  Begin
   Write('A[',I: 1,',',J: 1,']=');
   Readln(A[I,J])
  End;
 Writeln('Kontrolnyi Byvod matricy: ');
 For I:=1 to P do
 Begin
  For J:=1 to Q do Write (A[I,J]:4:2,'':3);
  Writeln;
 End;
 Writeln('Minimalnyi elementy matricy: ');
 For I:=1 to P do begin
 min:=A[I,1];
 For J:=2 to Q do
 if A[I,J]<min then begin
 min:=A[I,J];
 C[I]:=min;
 end;
 Writeln(C[I]:4:2,'':3);
 End;
Readkey
End.
Дима82 вне форума Ответить с цитированием
Старый 07.06.2008, 13:29   #4
Olympian
Форумчанин
 
Аватар для Olympian
 
Регистрация: 06.06.2008
Сообщений: 105
По умолчанию

ты после

min := A[I,1];
делай
C[I] := min;

а то получается, что если минимальный эл-т первый, то ты его никак не сохраняешь
Olympian вне форума Ответить с цитированием
Старый 07.06.2008, 13:41   #5
Дима82
Форумчанин
 
Аватар для Дима82
 
Регистрация: 09.05.2008
Сообщений: 108
По умолчанию

Он выводит не минимальное заданной строки, а первый столбец...

Код:
Program Lab5;
Uses crt;
Const M=5;
      N=5;
Var A: array[1..M,1..N] of real;
    C: array[1..M] of real;
    P,I:1..M;
    Q,J:1..N;
    min:real;
Begin
 Clrscr;
 Write('BBedite razmernost matricy ne bolee 5*5: ');
 Readln(P,Q);
 Writeln('BBedite elementy matricy: ');
 For I:=1 to P do
  For J:=1 to Q do
  Begin
   Write('A[',I: 1,',',J: 1,']=');
  Readln(A[I,J])
  End;
 Writeln('Kontrolnyi Byvod matricy: ');
 For I:=1 to P do
 Begin
  For J:=1 to Q do Write (A[I,J]:4:2,'':3);
  Writeln;
 End;
 Writeln('Minimalnyi elementy matricy: ');
 For I:=1 to P do begin
 min:=A[I,1];
 C[I]:=min;
 For J:=1 to Q do
 if A[I,J]<min then begin
 min:=A[I,1];
 C[I]:=min;
 end;
 Writeln(C[I]:4:2,'':3);
 End;
Readkey
End.
Дима82 вне форума Ответить с цитированием
Старый 07.06.2008, 13:53   #6
Olympian
Форумчанин
 
Аватар для Olympian
 
Регистрация: 06.06.2008
Сообщений: 105
По умолчанию

Ой, проглядел кое-что=)
#
# if A[I,J]<min then begin
# min:=A[I,1];
# C[i]:=min;
# end;

Этот цикл

min := A[I, J]; { А не A[I, 1] }
Olympian вне форума Ответить с цитированием
Старый 07.06.2008, 14:04   #7
Дима82
Форумчанин
 
Аватар для Дима82
 
Регистрация: 09.05.2008
Сообщений: 108
По умолчанию

Нет всё равно не получается здесь должно быть, что то другое...
Дима82 вне форума Ответить с цитированием
Старый 07.06.2008, 14:19   #8
Дима82
Форумчанин
 
Аватар для Дима82
 
Регистрация: 09.05.2008
Сообщений: 108
По умолчанию

А-а-а, всё правильно, я сам, что то ступил... А можно сначала задать строку, а потом уже найти минимальное, так как в задании сказано "в заданной строке"...
Дима82 вне форума Ответить с цитированием
Старый 07.06.2008, 14:30   #9
Olympian
Форумчанин
 
Аватар для Olympian
 
Регистрация: 06.06.2008
Сообщений: 105
По умолчанию

ну а как иначе?=)Искать минимум нигде?
задать строку - просто таким же двойным циклом
for i := 1 to P do
for j := 1 to Q do
Write(A[i, j]);
Olympian вне форума Ответить с цитированием
Старый 07.06.2008, 15:45   #10
Дима82
Форумчанин
 
Аватар для Дима82
 
Регистрация: 09.05.2008
Сообщений: 108
По умолчанию

Код:
Program Lab5;
Uses crt;
Const M=5;
      N=5;
Var A: array[1..M,1..N] of real;
    C: array[1..M] of real;
    P,I:1..M;
    Q,J:1..N;
    K,min,s:real;
Begin
 Clrscr;
 Write('BBedite razmernost matricy ne bolee 5*5: ');
 Readln(P,Q);
 Writeln('BBedite elementy matricy: ');
 For I:=1 to P do
  For J:=1 to Q do
  Begin
   Write('A[',I: 1,',',J: 1,']=');
  Readln(A[I,J])
  End;
 Writeln('Kontrolnyi Byvod matricy: ');
 For I:=1 to P do
 Begin
  For J:=1 to Q do Write (A[I,J]:4:2,'':3);
  Writeln;
 End;
 Writeln('Minimalnyi elementy matricy: ');
 For I:=1 to P do begin
 min:=A[I,J];
 For J:=1 to Q do
 if A[I,J]<min then begin
 min:=A[I,J];
 end;
 Write('str=');
 For I:=1 to P do begin
 For J:=1 to Q do
 s:=J;
 End;
 K:=min;
 Writeln(K:4:2,'':3);
 end;
Readkey
End.
Помогите, пожалуйста, задать строку, не получается...
Дима82 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[QBasic|Pascal] двумерные массивы PBJack Помощь студентам 5 06.12.2011 20:39
Двумерные массивы 3 (Pascal) Дима82 Помощь студентам 6 08.06.2008 14:38
Двумерные массивы 2 (Pascal) Дима82 Помощь студентам 3 08.06.2008 09:41
Pascal двумерные массивы I n n a Паскаль, Turbo Pascal, PascalABC.NET 3 08.05.2008 13:50