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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2013, 21:55   #1
AlexP777
Пользователь
 
Регистрация: 18.10.2011
Сообщений: 33
По умолчанию умножить все элементы массива на минимальный

Добрый вечер,

Подскажите ошибки в решении задачи.
Цитата:
Преобразовать массив, умножив элементы каждого столбца на минимальный элемент этого столбца.
вот как написано
Код:
program lab;
const N=5; M=5;
VAR A:ARRAY[1..N,1..M] of real;
    min:real; I,J:integer;
Begin
writeln(' A[ ', I,J,']');
readln(A[I,J]);
For I:=1 to N do
For J:=1 to M do
Readln(A[I,J]);
min:=A[I,J];
For J:=1 to M do
Begin
min:=5000;
For I:=1 to N do
if min> A[I,J] then min:=A[I,J];
writeln(min);
For I:=1 to N do
min:= A[I,J] * min;
writeln(min);
end;
Begin
Write('vvedite A[ ' ,I:1, ', J:1,] ' );
Readln(A[I,J]);
min:= min * A[I,J]
end;
Writeln(min)
End.
или вот второй вариант был...
Код:
program laba;
const n=5;
var a:array[1..n,1..n] of real;
  min:real; i,j:integer;
begin
min:=50000000;
writeln('vvedite massiv');
for i:=1 to n do
for j:=1 to n do
readln(a[i,j]);

for i:=1 to n do
  begin
  if min>a[i,j] then min:=a[i,j];
  writeln;
  min:=a[i,j]*min;
  writeln(min);
  end;
end.
AlexP777 вне форума Ответить с цитированием
Старый 23.04.2013, 22:37   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Код:
program lab;
const N=5; M=5;
VAR A:ARRAY[1..N,1..M] of real;
    min:real; I,J:integer;
Begin
writeln(' A[ ', I,J,']');
readln(A[I,J]);//i и j не инициализированы, скорее всего тут и вылетит
For I:=1 to N do
For J:=1 to M do
Readln(A[I,J]);
min:=A[I,J]; //зачем и почему?
For J:=1 to M do
Begin
min:=5000; //зачем?
For I:=1 to N do 
if min> A[I,J] then min:=A[I,J];
writeln(min);
For I:=1 to N do
min:= A[I,J] * min;
writeln(min);
end;// вот тут бы и закончить
Begin // зачем?
Write('vvedite A[ ' ,I:1, ', J:1,] ' );
Readln(A[I,J]);//ввели A[5,5], зачем?
min:= min * A[I,J]
end;
Writeln(min) 
End.
Второй код еще хуже. Сам то хоть пробовал запустить, посмотреть, что получится?
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 23.04.2013, 22:51   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Код:
program lab;
const
  N = 3;
  M = 4;

VAR
  A: ARRAY [1 .. N, 1 .. M] of real;
  min: real;
  I, J: integer;

Begin
  For I := 1 to N do
    For J := 1 to M do
    begin
      write(' A[ ', I, ',', J, '] = ');
      readln(A[I, J]);
    end;
  writeln;
  writeln('Array:');
  For I := 1 to N do
  begin
    For J := 1 to M do
      write(A[I, J]:4:2, ' ');
    writeln;
  end;
  writeln;
  writeln('Mins:');
  For J := 1 to M do
  Begin
    min := A[1, J];
    For I := 2 to N do
      if min > A[I, J] then
        min := A[I, J];
    write(min:4:2, ' ');
    For I := 1 to N do
      A[I, J] := A[I, J] * min;
  end;
  writeln;
  writeln;
  writeln('Array:');
  For I := 1 to N do
  begin
    For J := 1 to M do
      write(A[I, J]:4:2, ' ');
    writeln;
  end;
  readln;
End.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовать массив W следующим образом: положительные элементы i-ой строки массива W умножить на Xi, i =1,2,..N. sev48fire Помощь студентам 0 08.06.2012 13:50
Умножить все элементы в массиве B(15) AndreyKolesov Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 17.04.2012 21:46
Турбо ассемблер - построить массив путём сдвига исходного массива и умножить все элементы полученного массива на два Александр16 Помощь студентам 5 12.02.2012 20:30
Турбо ассемблер - построить массив путём сдвига исходного массива и умножить все элементы полученного массива на два Александр16 Помощь студентам 1 12.02.2012 19:56
Элементы матрицы. Все ненулевые элементы массива D(k) расположить в начале массива E(k) и подсчитать их к Вася Маклауд Помощь студентам 0 03.04.2011 17:21