Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 27.11.2011, 16:31   #1 (permalink)
ayPinki
Member
 
Регистрация: 27.11.2011
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Массив, почти решена задача

задача Номер 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[I])
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[I];
for i:=3 to n do
for j:=i to n do Begin
If az[i]>az[j] Then Begin
Buffer:=az[j];
aZ[j]:=az[i];
aZ[i]:=Buffer;
End;
End;
WriteLn ('Óïîðÿäî÷åí ïî âîçðàñòàíèþ:');
for I:=1 to n Do Begin
Write (az[I]:4,' ');
end;
end.

я уже незнаю что делать, ну не получается вывести массив отсортированный( от max до n ) + кусок старого до max
напишите как правильно
Миниатюры
aacuiyiiue.png  
ayPinki вне форума   Ответить с цитированием

Старый 27.11.2011, 16:31
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Эти обсуждения по содержанию схожи с вашими и могут вам помочь

Усилитель почти без деталей
Почти моддинг
Экзаменационная задача на массив
Двумерный массив. Задача

Старый 27.11.2011, 17:23   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от ayPinki Посмотреть сообщение
я уже незнаю что делать
Дык... отлаживать программу. Чтобы получилось, например, так:
Код:
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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 16:14.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.