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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2011, 14:34   #1
Alexbmgn
Пользователь
 
Регистрация: 08.01.2011
Сообщений: 33
По умолчанию Дан одномерный массив. Переместить максимальные элементы в конец, сдвинув остальные элементы влево

//Одномерный массив А длиной N<=20 заполнить случайными числами из ..диапазона [–15..80].
//Переместить максимальные элементы в конец, сдвинув остальные элементы влево.
Код:
uses crt;
const n=10;
var a:array[1..n] of integer;
    i,j,max:integer;
begin
 randomize;
 clrscr;
 for i:=1 to n do
  begin
   a[i]:=random(95)-15;
   write(a[i]:4);
max:=a[1];  
end;
 

for i:=1 to n do
  if a[i]>max then
   begin
    for j:=i to n-1 do
    a[j]:=a[j+1];
    a[n]:=max;
   end;
 writeln;
 for i:=1 to n do
 write(a[i]:4);
end.
Вот код, я его попытался адаптировать под свою задачу, он переставляет в конец максимальный элемент, но почему-то не хочет сдвигать влево остальные элементы. Помогите подкорректировать код. Если что-то возможно вывести в функции..

Последний раз редактировалось Stilet; 18.12.2011 в 14:37.
Alexbmgn вне форума Ответить с цитированием
Старый 18.12.2011, 14:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
max:=a[1];
Максимальный элемент всегда первый?

Допустим у тебя переменка imax указывает на номер максималки, которую нужно сдвинуть.
Код:
 l=a[imax];
 for k:=imax+1 to n do a[k-1]:=a[k];
 a[n]:=l;
Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.12.2011, 17:17   #3
Alexbmgn
Пользователь
 
Регистрация: 08.01.2011
Сообщений: 33
По умолчанию

Насчет нахождения максимального элемента, честно говоря толком алгоритм нахождения максимального-то и не помню. Ну вот берет за эталон значение первого элемента и с ним сравнивая ищет макс у меня получается.

Эмм... про вторую поправку по-подробнее бы ))


p.s (ужс какой эти задачки по программированию) это конечно понимаю еще примтив, но все равно голова пухнет кому это всё надо, как это может кому-то доставлять удовольствие ума не приложу)
Alexbmgn вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в массиве все максимальные элементы заменить первым элементом, а все минимальные элементы заменить последним элементом Валерия2701 Паскаль, Turbo Pascal, PascalABC.NET 1 12.10.2011 15:49
дан двумерный массив и натуральные числа k и p,поменять местами элементы k и p столбцов массива np9Huk Помощь студентам 4 19.04.2010 12:59
Дан массив размерности, определить номера строк элементы которых образуют последовательность С++ Lera Помощь студентам 2 18.12.2009 17:17
Дана матрица А(6,5). Составить массив, содержащий максимальные элементы каждого столбца. caen21rus Общие вопросы C/C++ 6 27.05.2009 17:06