Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 939

Раздел: Delphi » Прочее
/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
помогите пожалуйста с задачей.... мозг совсем не варит....
Дан массив A размера Т. Вывести элементы в следующем порядке A1, An, А2, An-1, A4, An-3….
И
Дан массив A размера Т. Вывести элементы в следующем порядке A1, An, A2, An-1,….

NeStor Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: NeStor (статус: Посетитель)
Вопрос отправлен: 21 января 2011, 14:52
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Цитата (NeStor):

не могу никак понять как формировать массив вывода

А для вывода массив нах не нужен, можно сразу выводить рузультат. Делай так:
program p4939;
 
{$APPTYPE CONSOLE}
 
const
  T = 11;
 
var
  A: array[0..T - 1] of Integer;
  Index: Integer;
 
begin
  for Index:= 0 to T - 1 do
    begin
      A[Index]:= Index;
      Write(A[Index], ' ');
    end;
 
  WriteLn;
 
  for Index:= 1 to T div 2 do
    begin
      Write(A[Index - 1], ' '); // Вывод элемента из 1-й половины
      Write(A[T - Index], ' '); // Вывод элемента из 2-й половины
    end;
 
  if Odd(T)
    then Write(A[T div 2]); // вывод центрального элемента в случае нечётного кол-ва
 
  ReadLn;
end.

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 21 января 2011, 15:28
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 21 января 2011, 15:46; участников в обсуждении: 3.
min@y™

min@y™ (статус: Доктор наук), 21 января 2011, 15:04 [#1]:

И чо?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
NeStor

NeStor (статус: Посетитель), 21 января 2011, 15:11 [#2]:

не могу никак понять как формировать массив вывода
mirt.steelwater

mirt.steelwater (статус: Посетитель), 21 января 2011, 15:39 [#3]:

J := 0;
for I := Low (A) to High (A) do
begin
    if ( J mod 2 = 0 ) then
        B [J] := A [I]
    else
        B [J] := A [ High (A) - I ];
    Inc (J);
end;
это насчет последовательности
A1, An-1, A2, An-2, ... , Ai, An-i
а вот первую последовательность я что-то не понял. можешь продолжить ряд? или записать аналитически.

p.s. зачем писать, что массив размера Т, если массив размера n ?
Ⓐ свобода сопротивление солидарность
NeStor

NeStor (статус: Посетитель), 21 января 2011, 15:42 [#4]:

спасибо) а я зачем-то второй массив вводил и присваивал ему значения из первого. там и сел
mirt.steelwater

mirt.steelwater (статус: Посетитель), 21 января 2011, 15:43 [#5]:

для вывода массив действительно не нужен, но судя по уровню задачи - лучше автор вопроса сделает лишнюю пару операций, зато лучше будет разбираться в итоге.
Ⓐ свобода сопротивление солидарность
NeStor

NeStor (статус: Посетитель), 21 января 2011, 15:45 [#6]:

нам препод так дал. понимайте как хотите.. размер тоже хрен знает. как я понял он задается, ну это фигня. это просто
min@y™

min@y™ (статус: Доктор наук), 21 января 2011, 15:46 [#7]:

Цитата (mirt.steelwater):

судя по уровню задачи - лучше автор вопроса сделает лишнюю пару операций, зато лучше будет разбираться в итоге.

А я и не возражаю.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:52
Выполнено за 0.02 сек.