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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2010, 18:50   #1
dante92
Пользователь
 
Регистрация: 07.12.2009
Сообщений: 28
По умолчанию Массив pascal

Плиз помогите сделать программку,вобще не понимаю как делать!!( Нужно написать прогу которая считывает числа(вводимые числа неодинаковы) и образует 2 новых числовых вектора:1)вектор из чисел,стоящих в ряду между максимальным и минимальным 2)из прочих чисел.Например введены числа 36 7 66 27 2 61,значит в 1ом будут 27
а во 2ом все остальные так как 66максимальное а 2 минимальное.может быть что в 1ом чисел не будет если макс. и мин. стоят рядом.
dante92 вне форума Ответить с цитированием
Старый 23.02.2010, 19:47   #2
sig_GB
Пользователь
 
Регистрация: 23.02.2010
Сообщений: 69
По умолчанию

Код:
USES Crt;
Type massiv:array [1..300] of integer;
   Function much:integer
   Begin If nmax>nmin then much:=nmin else much:=nmax
   {exception - это исключение}
   End;
Var mas,v1,v2:massiv; exception:array [1..100] of boolean;
i,j,n,nmax,nmin:integer;
Begin
ClrScr;
Writeln('Введите кол-во элементов'); Readln(n);
For i:=1 to n do begin readln(mas[i]); 
                              if i:=1 then begin max:=1; min:=mas[1] end;
                              if mas[i]>max then begin max:=mas[i]; nmax:=i end;
                              if mas[i]<min then begin min:=mas[i]; nmin:=i end;
                      end;
If (nmax-nmin=1) of (nmin-nmax=1) then begin 
     writeln('v1 - пустой вектор'); writeln('v2::: ');
     for i:=1 to n do begin v2[i]:=mas[i]; write(v2,'_') end 
     end
else 
     begin 
     {************************первый вектор}
     writeln('v1::: ');
     For i:=1 to abs(nmax-nmax-1) do begin v1[i]:=mas[much]; write(v1,'_');  
     exception[much]:=true; inc(much) end; 
     {************************второй вектор}
     writeln('v2::: '); j:=1; i:=1;
     While i<n do if exception[j]<>true then 
                                      begin v2:=mas[j]; write(v2,'_'); inc(j); inc(i); end
                      else begin inc(i); continue end;
     end;
Readkey End;
=================================== ===================
как-то так должно выглядеть. возможны синтаксические\тупые ошибки.
поправьте если что.
Помог? Нажми на <Весы> слева.
С++, Pascal, Assembler 386 - под заказ.
sig_GB вне форума Ответить с цитированием
Старый 23.02.2010, 20:22   #3
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

Цитата:
возможны синтаксические\тупые ошибк
есть немного
воть посмотри мой вариант и попробуй разобраться
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  A : array[1..100] of integer;
  n,i,max,min,nMax,nMin : INteger;
begin
  writeln('vvedite kolvo elementov...');
  readln(n);
  for i:=1 to n do
  begin
    Writeln('vvedite A[',i,']');
    readln(A[i]);
  end;
  Min:=A[1];
  Max:=A[1];
  nMin:=1;
  nMax:=1;
  for i:=1 to N do
  begin
    if A[i]>Max then
    begin
      Max:=A[i];
      nMax:=i;
    end;
    if A[i]<Min then
    begin
      Min:=A[i];
      nMin:=i;
    end;
  end;
Writeln('');
Writeln('---------------------------------');
Writeln('');
if nMin<nMax then
begin
  Writeln('vektor 1 :');
  for i:=nMin+1 to nMax-1 do
    Write(A[i],' ');
  Writeln('');
  Writeln('');
  Writeln('vektor 2 :');
  for i:=1 to nMin do
    Write(A[i],' ');
  for i:=nMax to n do
    Write(A[i],' ');
end;
if nMin>nMax then
begin
  writeln('vektor 1 :');
  for i:=nMax+1 to nMin-1 do
    Write(A[i],' ');
  Writeln('');
  Writeln('');
  writeln('vektor 2 :');
  for i:=1 to nMax do
    write(A[i],' ');
  for i:=nMin to n do
    write(A[i],' ');
end;
if nMin=nMax then
begin
  writeln('vektor 1 :');
  Writeln('');
  Writeln('');
  writeln('vektor 2 :');
  for i:=1 to n do
    write(A[i],' ');
end;
Readln;
end.

Последний раз редактировалось Deamonig; 23.02.2010 в 20:24.
Deamonig вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pascal массив Fornarina Помощь студентам 52 27.12.2009 15:57
Pascal Двумерный массив vovalski Помощь студентам 1 16.11.2009 20:42
Pascal. Одномерный массив. Sendddd Помощь студентам 2 26.10.2009 21:11
pascal массив Fornarina Помощь студентам 3 08.02.2009 18:38
pascal массив Fornarina Помощь студентам 16 27.12.2008 22:48