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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2010, 09:42   #1
RUSSTUDENT
Пользователь
 
Аватар для RUSSTUDENT
 
Регистрация: 18.01.2010
Сообщений: 26
По умолчанию Вектор массив

Всем привет!
Задана программа:
Ввести последовательность неповторяющихся чисел. Сформировать вектор из чисел, стоящих до MAX, и вектор из чисел, стоящих после MIN.
Прогу написал, но не знаю как сформировать вектор (одномерный массив).
Помогите.

Код:
Program FormVector6;
const
dim=100;
type
tvector= array[1..dim] of integer;
var
v1, v2:tvector;
n1, nmax, nmin: integer;
max, min: real;
i:byte;
begin
writeln('Vvedite chislo elementov posledovatelnosti =<',dim,' ');
readln(n1);
writeln('Vvedite ',n1,' chisel');
for i:=1 to n1 do
begin
write('v1[',i,']=');
read(v1[i]);
end;
max:=v1[1];
nmax:=1;
min:=v1[1];
nmin:=1;
for i:=2 to n1 do
begin
if v1[i]<min then
begin min:=v1[i];
writeln('min =',v1[i]);
nmin:=i;
writeln('nmin =',i);
end;
if v1[i]>max then
begin max:=v1[i];
writeln('max =',v1[i]);
nmax:=i;
writeln('nmax =',i);
end;
end;
?
( for i:=1 to nmax do
read(v1[i]);
for i:=nmin to n1 do
read(v1[i]); )

readln
end.

Последний раз редактировалось Stilet; 12.10.2010 в 10:46.
RUSSTUDENT вне форума Ответить с цитированием
Старый 12.10.2010, 10:37   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) для оформления кода используйте специальный тэг [СODE]..[/CODE] (кнопка с решёточкой #)

2) не вижу смысла выводить в цикле очередное найденное значение минимума/максимума (это может быть приемлемым только на этапе отладки.. да и что там отлаживать то?!!)

3) Если я правильно понял задание, но Вам нужно сформировать ДВА вектора (один из чисел, стоящих ДО максимального, другое - после минимального).
А Вы в переменных описали только V2

4) А код проще простого:
Код:
var vBeforeMax, vAfterMin : tvector;
     nBMax, nAMin : integer;
...
<ваш код тут>
...
  nBMax := nMax - 1; {размер 1-го вектора. внимание! Максимальное число НЕ Включаем!!}
  for i:=1 to nBMax do
      vBeforeMax[i] := v1[i];

  {второй вектор - те, что стоят после минимального элемента} 
  nAMin := n1 - nmin; {размер 2-го вектора. внимание! Минимальный элемента НЕ Включаем!!}
  for i:= 1 to nAMin do
     vAfterMin[i] := v1[i+nmin];

всё. можно выводить элементы векторов  vBeforeMax vAfterMin
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вектор Pro_RocK Паскаль, Turbo Pascal, PascalABC.NET 1 11.06.2010 09:21
Одномерный массив и вещественный вектор Sychev11 Помощь студентам 1 29.04.2010 23:54
вектор vbas Помощь студентам 28 26.12.2009 03:01
Вектор? Slavik Microsoft Office Excel 0 23.02.2009 10:30