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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2010, 00:09   #1
AyMosg
Новичок
Джуниор
 
Регистрация: 28.12.2010
Сообщений: 2
По умолчанию Задача Pascal(Массив)

Привет народ) кто сможет помочь)
Code PASCAL

--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Дан массив А1, …, А40.
Замените все элементы, стоящие между Amax и Amin или Amin и Amax, на 0.
--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Вот, что то написал) но не работает; точнее не правильно)

Код:
program Ex6;
var A: array[1..10] of real;
  Amin, Amax: real;
  N, i, k: integer;
begin
  writeln('BBOD MACCUBA A');
  for i := 1 to 10 do begin
    writeln('A[', i, ']=');
    read(A[i]); end;
  Amin := A[1]; N := 1;
  for i := 1 to 10 do
    if Amin > A[i] then begin
      Amin := A[i];
      N := i;
    end;
  Amax := A[1]; k := 1;
  for i := 1 to 10 do
    if Amax < A[i] then begin
      Amax := A[i];
      k := i;
    end;
  if N > k then begin
    for i := k to n do
      A[i] := 0;
  end;
  if k > N then begin
    for i := n to k do
      A[i] := 0;
  end;
  for i := 1 to 10 do
    writeln('A[', i, ']=', A[i]: 8: 2)
end.
___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 29.12.2010 в 09:13.
AyMosg вне форума Ответить с цитированием
Старый 29.12.2010, 00:11   #2
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

алгоритм такой находиш индекс минимального и максимального и в етом промежутке замениваеш все елементы на 0
for index1 to index2 do
a[index1]:=0
вот както так...
Pein95 вне форума Ответить с цитированием
Старый 29.12.2010, 00:15   #3
AyMosg
Новичок
Джуниор
 
Регистрация: 28.12.2010
Сообщений: 2
По умолчанию

Спасибо) сейчас подумаю)
AyMosg вне форума Ответить с цитированием
Старый 29.12.2010, 00:16   #4
Novi4ok_11
Форумчанин
 
Регистрация: 11.12.2010
Сообщений: 110
По умолчанию

Код:
for i:=1 to 40 do 
begin
writeln ('A[',i,']=');
read(A[i]);
end;
max:=a[1];
for i:=1 to 40 do 
begin
if a[i]>max then maxi:=i;
end;
for i:=1 to 40 do 
begin
if a[i]<min then do mini:=i;
end;

if mini<maxi then 
begin
for i:=mini to maxi do a[i]:=0;
end 
else if mini>maxi then 
begin
for i:=maxi to mini do a[i]:=0;
end;
Novi4ok_11 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal. Задача на массив Kirimba Помощь студентам 2 21.12.2010 18:38
[Pascal] Задача на массив. Kirimba Помощь студентам 2 05.12.2010 13:47
Задача на массив Pascal shozanah Помощь студентам 5 20.11.2010 23:44
help задача pascal двум массив AlexGur Помощь студентам 45 20.04.2010 23:06