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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2010, 21:33   #1
Izymka
Пользователь
 
Регистрация: 24.05.2010
Сообщений: 31
Восклицание Pascal!!!

Дано массив действительных (ненулевых) чисел, содержащий n элементов. Заменить в массиве нулями наибольший и наименьший по значениям элементы.
помогите!!! плииииз!!!!!!!!
Izymka вне форума Ответить с цитированием
Старый 07.06.2010, 21:34   #2
Izymka
Пользователь
 
Регистрация: 24.05.2010
Сообщений: 31
По умолчанию

у меня не получается!! подскажите где ошибка!!!
Код:

program n_7_1;
uses crt;
var
    a:array [1..100] of integer;
    i,n,max,imax,min,imin:integer;
begin
write('n:');readln(n);
for i:=1 to n do
 begin
write('a[',i,']='); read(a[i]);
  end;
writeln;
min:=a[1]; imin:=1;
for i:=1 to n do
if a[i]<min then
begin
 min:=a[i]; imin:=i;
 end;
writeln ('MIN[',imin,']:=',min);
for i:=imin to n-1 do
begin
a[i]:=0
end;
begin
for i:=1 to n do
writeln('a[',i,']=',a[i]);
end;
max:=a[1];imax:=1;
for i:=1 to n do
 if a[i]>max then
 begin
  max:=a[i];imax:=i;
  end;
  writeln ('MAX[',imax,']:=',max);
  for
begin
a[i]:=0
end;
begin
for i:=1 to n do
writeln('a[',i,']=',a[i]);
end;
end.
Izymka вне форума Ответить с цитированием
Старый 07.06.2010, 21:48   #3
bag
Пользователь
 
Регистрация: 20.06.2008
Сообщений: 95
По умолчанию

Держи подправленный код:
Код:
program n_7_1;

uses crt;

var
  a:array [1..100] of integer;
  i,n,max,imax,min,imin:integer;

begin
  write('n:');readln(n);
  for i:=1 to n do
  begin
    write('a[',i,']=');
    read(a[i]);
  end;
  writeln;
  min:=a[1];
  imin:=1;
  for i:=1 to n do
    if a[i]<min then
    begin
      min:=a[i];
      imin:=i;
    end;
  writeln ('MIN[',imin,']:=',min);
  a[imin]:=0;                           {Dobavil}

  { Eto nado ubrat:
    for i:=imin to n-1 do
    begin
    a[i]:=0
    end;
    begin
    for i:=1 to n do
    writeln('a[',i,']=',a[i]);
    end;
  }

  max:=a[1];
  imax:=1;
  for i:=1 to n do
    if a[i]>max then
    begin
      max:=a[i];
      imax:=i;
    end;
  writeln ('MAX[',imax,']:=',max);
  a[imax]:=0;                           {Dobavil}

  { Eto nado ubrat:
    for
    begin
    a[i]:=0
    end;
    begin
  }

  for i:=1 to n do
    writeln('a[',i,']=',a[i]);

  { Eto tozge lishnee:
     end;
  }
end.
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)

Последний раз редактировалось bag; 07.06.2010 в 21:56.
bag вне форума Ответить с цитированием
Старый 07.06.2010, 21:56   #4
Izymka
Пользователь
 
Регистрация: 24.05.2010
Сообщений: 31
По умолчанию

да, спасибо, но все равно обнуляется еще один элемент(причем любой)(((((((
Izymka вне форума Ответить с цитированием
Старый 07.06.2010, 22:00   #5
bag
Пользователь
 
Регистрация: 20.06.2008
Сообщений: 95
По умолчанию

Вроде все нормально. Обнуляются только 2 элемента: наименьший и наибольший
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)
bag вне форума Ответить с цитированием
Старый 07.06.2010, 22:05   #6
Izymka
Пользователь
 
Регистрация: 24.05.2010
Сообщений: 31
По умолчанию

Код:
program n_7_1;

uses crt;

var
  a:array [1..100] of integer;
  i,n,max,imax,min,imin:integer;

begin
  write('n:');readln(n);
  for i:=1 to n do
  begin
    write('a[',i,']=');
    read(a[i]);
  end;
  writeln;
  min:=a[1];
  imin:=1;
  for i:=1 to n do
    if a[i]<min then
    begin
      min:=a[i];
      imin:=i;
    end;
  writeln ('MIN[',imin,']:=',min);
  a[imin]:=0;                           {Dobavil}
max:=a[1];
  imax:=1;
  for i:=1 to n do
    if a[i]>max then
    begin
      max:=a[i];
      imax:=i;
    end;
  writeln ('MAX[',imax,']:=',max);
  a[imax]:=0;                           {Dobavil}

  for i:=1 to n do
    writeln('a[',i,']=',a[i]);
end.


точно!!!!!!! во я баран!!!!!!!! спасибочки!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!
Izymka вне форума Ответить с цитированием
Старый 07.06.2010, 22:10   #7
bag
Пользователь
 
Регистрация: 20.06.2008
Сообщений: 95
По умолчанию

Можно намного короче и проще:
Код:
program n_7_1;
uses crt;
var
  a:array [1..100] of integer;
  i,n,imax,imin:integer;
begin
  clrscr;
  write('n:');
  readln(n);
  imin:=1;
  imax:=1;
  for i:=1 to n do
  begin
    write('a[',i,']=');
    readln(a[i]);
    if a[i]<a[imin] then
      imin:=i;
    if a[i]>a[imax] then
      imax:=i;
  end;
  writeln ('MIN[',imin,']:=',a[imin]);
  writeln ('MAX[',imax,']:=',a[imax]);
  a[imin]:=0;
  a[imax]:=0;
  for i:=1 to n do
    writeln('a[',i,']=',a[i]);
  readkey;
end.
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)

Последний раз редактировалось bag; 07.06.2010 в 22:12.
bag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pascal Nasten'ka Помощь студентам 7 27.05.2010 22:43
Turbo Pascal or Pascal ABC Ikram Паскаль, Turbo Pascal, PascalABC.NET 0 27.04.2010 13:44
а free pascal не читает задачи которые написаны на turbo pascal? demonara Паскаль, Turbo Pascal, PascalABC.NET 3 25.05.2009 16:28
Перевод кода из Pascal в Object Pascal zemskov77 Общие вопросы Delphi 1 03.01.2009 09:37