• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Массив, почти решена задача

  • Автор темы Автор темы ayPinki
  • Дата начала Дата начала

ayPinki

Новые
Регистрация
27 Ноя 2011
Сообщения
29
Реакции
0
Баллы
0
Массив, почти решена задача

задача Номер 3
вот листинг

Program massive;
Var r,buffer,j,imax,i,n,k,max,b:integer;
l:boolean;
A,az : array [1..500] of integer;
begin
cls;
writeLn('Ââåäèòå ðàçìåðíîñòü ìàññèâà =');
readLn(n);
for I:=1 to n do
begin Write('A[',I:2,']=');
Readln(A)
End;
For k:=1 to n do
if a[k]>max then
begin
max:=a[k]; i:=k;
end;
writeln('Ìàêñèìàëüíûé ýëåìåíò ìàññèâà A[',i,']=',max);
for i:=i+1 to n do
az[I+1]:=a;
for i:=3 to n do
for j:=i to n do Begin
If az>az[j] Then Begin
Buffer:=az[j];
aZ[j]:=az;
aZ:=Buffer;
End;
End;
WriteLn ('Óïîðÿäî÷åí ïî âîçðàñòàíèþ:');
for I:=1 to n Do Begin
Write (az:4,' ');
end;
end.

я уже незнаю что делать, ну не получается вывести массив отсортированный( от max до n ) + кусок старого до max
напишите как правильно
 

Вложения

  • Безымянный.webp
    Безымянный.webp
    37.9 KB · Просмотры: 51
я уже незнаю что делать
Дык... отлаживать программу. Чтобы получилось, например, так:
Код:
Var
 buffer,j,i,i_max,n,n1,k,max:integer;
 A,az : array [1..500] of integer;
begin
 write('Введите размерность массива = ');
 readLn(n);
 for i:=1 to n do
  begin
   Write('A[',i:2,']= ');
   Readln(A[i])
  End;
 Writeln;
 Writeln;
 max:=A[1];
 i_max:=1;
 For k:=2 to n do
  if a[k]>max then
   begin
    max:=a[k];
    i_max:=k;
   end;
 writeln('Максимальный элемент массива A[',i_max,']= ',max);
 Writeln;
 Writeln;
 for k:=i_max+1 to n do
  Az[k-i_max]:=A[k];
 n1:=n-i_max;
 for i:=1 to n1 do
  for j:=1 to n1-i do
   If Az[j]>Az[j+1] then
    begin
     Buffer:=Az[j];
     Az[j]:=Az[j+1];
     Az[j+1]:=Buffer;
    end;
 Writeln('Исходный массив:');
 For i:=1 to n do Write(A[i]:4);
 Writeln;
 Writeln;
 WriteLn ('Упорядоченный по возрастанию после максимального:');
 for i:=1 to i_max do Write(A[i]:4);
 for i:=1 to n1 do Write(Az[i]:4);
 Readln
end.
 
Назад
Сверху