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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2011, 01:25   #1
христик
Пользователь
 
Регистрация: 03.12.2011
Сообщений: 16
По умолчанию массив

дана последовательность целых чисел a1,a2...an.образовать новую последовательность выбросив из исходной те члены которые равны min(a1,a2...an)
просто прогу я написала, а чтобы в этой проге по мимо массива была еще и подпрограмма
сама задача:
uses crt;
var a,b:array[1..100] of integer;
i,j,min,n,k:integer;
begin
ClrScr;
Randomize;
repeat
Write('n=');
Readln(n);
until n in [1..100];
for i:=1 to n do
begin
a[i]:=random(20)-8;
Write(a[i],' ');
end;
Writeln;
min:=a[1];
for i:=2 to n do
if a[i]<min then
min:=a[i];
for i:=1 to n do
if a[i]<>min then
begin
k:=k+1;
b[k]:=a[i];
end;
Writeln('Min ',min);
for i:=1 to k do
Write(b[i],' ');
Readln;
end.
христик вне форума Ответить с цитированием
Старый 04.12.2011, 01:39   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,884
По умолчанию

А где в условии сказано про подпрограмму?
Arigato на форуме Ответить с цитированием
Старый 04.12.2011, 01:48   #3
христик
Пользователь
 
Регистрация: 03.12.2011
Сообщений: 16
По умолчанию

просто училка достала
сказала написать эту прграмму с подпрограммами
христик вне форума Ответить с цитированием
Старый 04.12.2011, 02:02   #4
pupilMartyr
Пользователь
 
Аватар для pupilMartyr
 
Регистрация: 02.05.2011
Сообщений: 45
По умолчанию

Код:
uses crt;

  // находит минимум в массиве a длиной n
  function findMin(a: array[1..100] of integer, n: byte): integer;
    var i:byte;
	min: integer;
  begin
	min:= a[1];
	for i:=2 to n do
	    if a[i]<min then min:= a[i];
   	findMin:= min;
  end;

  // формирует массив, состоящий из элементов массива a, без минимального элемента min
  function getNewMas(const a: array[1..100] of integer, var b:array[1..100] of integer, n: byte, min: integer): integer;
    var i,j: byte;
  begin
	j:= 1;
	for i:= 1 to n do
	  if a[i]<>min then
	  begin
	      b[j]:= a[i];
	      inc(j);
	  end;
  end;

  // основная программа
  var a,b:array[1..100] of integer;
      i,j,min,n:integer;
begin
	clrScr;
	randomize;
	readln(n);		// количество элементов в массиве
	for i:=1 to n do	// заполняем массив случайными значениями
	begin
	    a[i]:= random(20);
	    write(a[i], ' ');
	end;

	min:= findMin(a, n);		// находим минимальный элемент в массиве a
	getNewMas(a, b, n, min);	// получаем новый массив b
	
	for i:=1 to k do		// выводим его
	  write(b[i],' ');

	readln;
end.
Не проверяли, но работать должна.
+ можно не использовать дополнительный массив b, а удалять и сдвигать в массиве a.

Последний раз редактировалось pupilMartyr; 04.12.2011 в 02:04.
pupilMartyr вне форума Ответить с цитированием
Старый 04.12.2011, 02:07   #5
христик
Пользователь
 
Регистрация: 03.12.2011
Сообщений: 16
По умолчанию

спасибо большое!!!!!!!!!!!
христик вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Задан вектор X[20]. Положительные числа переписать в массив Y, а отрицательные в массив W leha_demi Помощь студентам 2 24.09.2011 18:12
Запись координат в массив в реал тайм, Как записать координаты в массив Dark19 Visual C++ 2 21.06.2011 18:45
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) econ Помощь студентам 1 29.05.2011 22:02