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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2007, 21:55   #1
finch
 
Регистрация: 15.06.2007
Сообщений: 9
По умолчанию элемменты заданого масива a(n) перепешите в новый масив b(n) в обратном порядке!

решите мне задачю!pliz!!!!!!!!!!
вот она:
элемменты заданого масива a(n) перепешите в новый масив b(n) в обратном порядке!
мне завтра отчёт здавать! я уже 4 дня с ней мучаюсь!
ничего не получается!
finch вне форума Ответить с цитированием
Старый 24.06.2007, 23:22   #2
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
Радость

Ладно. Т.к. размер исходного массива a неизвестен то надо использовать функцию high(a).
В общем случае если n неизвестно то примерно так:
var a,b:array of integer;
begin k:=0;
\\ вводите значения сами\загружаете или используете random
for i:= high(a) downto low(a) do k:=k+1;
b[k]:=a[i]; /// т.е смотрит цикл от максимального эл-та до самого первого.
end;
если n известно то это еще проще.
For i:=n downto 1 do k:=k+1;
b[k]:=a[i];
Если же стоят конструкции типа такой: var a:array [2..39] of integer;
то вы вместо 1 в последнем цикле используете low(a). Но все-таки первый алгоритм наиболее универсальный.

Последний раз редактировалось bill; 24.06.2007 в 23:48.
bill вне форума Ответить с цитированием
Старый 24.06.2007, 23:35   #3
BlackCat
 
Аватар для BlackCat
 
Регистрация: 24.06.2007
Сообщений: 5
По умолчанию

на паскале или дельфи надо? задачка на 5 минут! на паскале так:
uses crt;
var a,b:array [1..N] of integer;
i:integer;
begin
clrscr;{очищаем экран}
randomze;{включаем генератор псевдослучайных чисел}
for i:=1 to n do a[i]:=random(100);{заполняем массив случайными числами}
for i:=1 to n do begin{записываем еще один массив в обратном порядке}
b[n-i+1]:=a[i];
end;
for i:=1 to n do write(a[i]:6);{выводим массив а}
writeln;{переходим на след строку}
for i:=1 to n do write(b[i]:6);{выводим массив b}
while not keypressed do;{пока не нажата клавиша не выходим из проги}
end.
Если б строители строили здания так же как программисты пишут программы, то первый же залетевший дятел разрушил бы всю цивилизацию!
BlackCat вне форума Ответить с цитированием
Старый 25.06.2007, 07:55   #4
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Код:
program Project2;
{$APPTYPE CONSOLE}
const
   N=5;
var
   a,b:array[1..N]of integer;
   i:integer;
begin
for i:=1 to N do
  begin
    Write('Введите ',i,'-й/',N,' элемент массива : ');
    ReadLn(b[i]);
  end;
 Writeln(' ');
 Write(' Исходный массив : ');
for i:=1 to N do
    Write(b[i],' ');
 WriteLn(' ');
 Writeln(' ');
 Write(' Обратный массив : ');
for i:= 1 to N do
  begin
   a[i]:=b[N-i+1];
   write(a[i],' ');
  end;
end.
Alex21 вне форума Ответить с цитированием
Старый 25.06.2007, 13:20   #5
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

В этом разделе подобная задача уже была.
Carbon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отсортировать таблицу сначала в алфавитном порядке фамилий продавцов, затем в порядке возростания получен Lora Microsoft Office Excel 1 31.05.2008 17:22
Сортировка масива lhOsvald Общие вопросы C/C++ 21 02.05.2008 00:28
Во вводимом тексте переписать все слова в обратном порядке. menlo Помощь студентам 5 17.11.2007 10:18
маcсив nikleb Паскаль, Turbo Pascal, PascalABC.NET 3 19.04.2007 23:23