Показать сообщение отдельно
Старый 27.06.2006, 12:21   #8
 
Аватар для Overlord
 
Статус: Старейшина
Регистрация: 27.03.2005
Адрес: Великая и могучая
Сообщений: 732
СПАСИБО: 49
сказали Спасибо 293 раз(а) в 169 сообщении
Получено наград:
По умолчанию Re: Решебник (turbo pascal, Delphi)

Цитата:
Сообщение от Джони
Пожалуйста помогите кто-нибудь решить задачки, а то уже экзамен в четверг, а у меня они не получаются!!!
1. Найти номера всех отрицательных элементов (вывести их на экран), если таких нет, то сообщить об этом.
2. Найти номера всех максимальных элементов.
3. Удалить столбец, в котором находится минимальный элемент.
Заранее БОЛЬШОЕ СПАСИБО!!!

Для элементов чего?
Написал для двухмерного массива
Опять элементов чего?
Для двухмерного массива нашел в каждом столбце максимальный
Что значит удалить? Изменить размерность массива? Надо динамический мамссив использовать?
Заполнил столбец нулями

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var arr:array[0..100, 0..100]of integer;
    max:array[0..100]of integer;
    i,j, min, minI, minJ:integer;
    minus:boolean;
begin
  //от балды заполняем массив, потому что вручную 10000 элементов не хочется
  randomize;
  minus:=false;
  for i:=0 to 100 do
  for j:=0 to 100 do
  begin
    arr[i,j]:=random(1000)-500;//функция random возвращает только положительные числа, что бы в массив попали и отрицательные делаем так
  end;

  min:=arr[0, 0];
  minI:=0;
  minJ:=0;
  for i:=0 to 100 do
  begin
    max[i]:=arr[i, 0];
    for j:=0 to 100 do
    begin
      if arr[i,j] < 0 then
      begin
        writeln('arr[',i,',',j,'] = ', arr[i,j]);//выводим на экран отрицательные
        minus:=true;
      end;
      if arr[i,j] > max[i] then max[i]:=arr[i,j];//определяем максимальный в столбце i
      if arr[i,j] < min then//определяем минимальный во всем массиве
      begin
        min:=arr[i,j];
        minI:=i;
        minJ:=j;
      end;
    end;
  end;

  if minus then writeln('Net otricatelnih');//если в массиве нет отрицательых сообщаем пользователю
  writeln('minimum arr[',minI,',',minJ,'] = ');//выводим на экран столбец и строку минимального элемента

  for j:=0 to 100 do
    arr[minI, j]:=0;//заполняем нулями тот столбец в котором находится минимальный элемент


  for i:=0 to 100 do
  for j:=0 to 100 do
     writeln('arr[',i,',',j,'] = ', arr[i,j]);//показываем весь массив, можно и без этого



  readln;

end.


[Ссылки могут видеть только зарегистрированные пользователи. ]

Последний раз редактировалось Overlord; 27.06.2006 в 15:19.
Overlord вне форума   ЦИТИРОВАТЬ
Этот пользователь сказал Спасибо Overlord за это полезное сообщение: