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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2012, 19:56   #1
mun_nw
Новичок
Джуниор
 
Регистрация: 04.04.2012
Сообщений: 6
По умолчанию Одномерные массивы. Немного не понимаю(

Код:
Program ss;
const m=100;
var a:array[1..m] of integer;
i,n:integer
;begin
writeln('vvedite n');
readln(n);
randomize;
for i:=1 to n do begin
a[i]:=random(n);
 writeln('a[',i,']=', A[i]);
 end;
 for i:=1 to n do begin
 a[1] := a[n];
 end;for i:=1 to n do begin
 writeln('a[',i,']=', A[i]);
 end; end.
Вот программа, она ставит на место 1 элемента, последний, и выводит сначала оригинальный массив, а потом измененный. Только мне надо, что бы при выводе измененного массива, он сдвигал массив и не показывал последний элемент. т.е например оригинальный массив 12345, а измененный должен быть 5234.

Последний раз редактировалось Stilet; 04.04.2012 в 21:39.
mun_nw вне форума Ответить с цитированием
Старый 04.04.2012, 20:24   #2
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Дак вы просто выводите массив до n-1 элемента и все.
Код:
for i:= to n-1 do
   write(A[i],' ');
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 04.04.2012, 20:35   #3
mun_nw
Новичок
Джуниор
 
Регистрация: 04.04.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от ByAlex Посмотреть сообщение
Дак вы просто выводите массив до n-1 элемента и все.
Код:
for i:= to n-1 do
   write(A[i],' ');
и еще, я коеч то напутал, должно быть вот так, он сдвигом должен делатьЖ 12345 ----- 51234

const Nmax=1000;
var a: array [1..Nmax] of integer;
i,n:integer;
begin
N:=5;
for i:=1 to N do
A[i]:=i;
for i:=1 to N do
writeln('a[',i,']=', A[i]);

for i:=N downto 1 do

A[i+1]:=A[i];
A[1]:=A[N+1];


for i:=1 to N do
writeln('a[',i,']=', A[i]);
end.
Вот как эта делает. Только нужно рандомно что бы массив заполнялся.

Последний раз редактировалось mun_nw; 04.04.2012 в 20:41.
mun_nw вне форума Ответить с цитированием
Старый 04.04.2012, 20:49   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
нужно рандомно что бы массив заполнялся.
Код:
randomize;
for i := 1 to n do
    a[i] := random(_ТУТ_УКАЖИ_РЕНЖ_РАНДОМА_);
{К примеру random(100) сгенерирует число от 0 до 99}
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 04.04.2012, 20:55   #5
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Просто делай перестановки элементов!
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 04.04.2012, 21:00   #6
mun_nw
Новичок
Джуниор
 
Регистрация: 04.04.2012
Сообщений: 6
По умолчанию

а пример можно? )
mun_nw вне форума Ответить с цитированием
Старый 04.04.2012, 21:08   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

пример чего?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 04.04.2012, 21:15   #8
mun_nw
Новичок
Джуниор
 
Регистрация: 04.04.2012
Сообщений: 6
По умолчанию

Program ss;
const m=100;
var a:array[1..m] of integer;
i,n:integer
;begin
writeln('vvedite n');
readln(n);
randomize;
for i:=1 to n do begin
a[i]:=random(n);
writeln('a[',i,']=', A[i]);
end;
for i:=1 to n do begin
a[1] := a[n];
end;for i:=1 to n do begin
writeln('a[',i,']=', A[i]);
end; end.

Если можешь переделать эту программу так, что бы она выводила dот так массив например: он рандомно ввел массив например 12345, а вывел 51234. т.е последний элемент поставил на первое место и сдвинул массив не удаляя первый элемент из массива.
mun_nw вне форума Ответить с цитированием
Старый 04.04.2012, 21:44   #9
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Как то так -
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  arr:array[1..100] of integer;
  a,i,t,n:integer;
begin
  write('Vvedite n - ');
  readln(n);
  for i := 1 to n do
    Arr[i]:=Random(25);
  a:=Arr[1];
  for i := 2 to n do
  begin
    t:=arr[i];
    Arr[i]:=a;
    if i=n then
    begin
      Arr[1]:=t;
    end;
    a:=t;
  end;
  writeln('Result = ');
  for i := 1 to n do
    write(arr[i],' ');
  readln;
end.
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 04.04.2012, 21:53   #10
mun_nw
Новичок
Джуниор
 
Регистрация: 04.04.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от ByAlex Посмотреть сообщение
Как то так -
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  arr:array[1..100] of integer;
  a,i,t,n:integer;
begin
  write('Vvedite n - ');
  readln(n);
  for i := 1 to n do
    Arr[i]:=Random(25);
  a:=Arr[1];
  for i := 2 to n do
  begin
    t:=arr[i];
    Arr[i]:=a;
    if i=n then
    begin
      Arr[1]:=t;
    end;
    a:=t;
  end;
  writeln('Result = ');
  for i := 1 to n do
    write(arr[i],' ');
  readln;
end.
она только результат выводит, а как и оригинал вывести .а потом измененный?
mun_nw вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы zhannabs Помощь студентам 2 13.01.2011 09:29
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Немного изменить программу в Delphi Console. (Массивы) QuadroX Помощь студентам 1 14.10.2009 17:42
C++/ Одномерные массивы BennyBenassy Общие вопросы C/C++ 6 23.02.2009 14:27