Вывод на экран элементы массива
|
|
DeadDay | Дата: Вторник, 21 Апреля 2015, 19:18 | Сообщение # 1 |
New game Studio
Сейчас нет на сайте
| Всем привет уважаемые. Нуждаюсь в помощи, помогите кто сможет. Вообщем вот в чём вопрос: Как сделать вывод на экран элементы массива, сначала все положительные, затем все отрицательные. В паскале.
Я думаю что тут нет ни чего сложного. Но я меня нет знаний в Pascal`e. Заранее всем спасибо за помощь...
New Games Studio --------------------------------------------------------------------------------------- Проекты: DeadDay - Online --- Мертвый день: Выживание
|
|
| |
harmoxyne | Дата: Вторник, 21 Апреля 2015, 19:57 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Самый простой и банальный способ - проходим массив дважды. Первый раз выводим все положительные, второй все отрицательные. Код for i:=1 to ArraySize do if Array[i] >= 0 write(Array[i] + ' '); for i:=1 to ArraySize do if Array[i] <0 write(Array[i] +' ');
Ещё способ - сортируем массив от большего к меньшему и просто выводим его.
|
|
| |
DeadDay | Дата: Вторник, 21 Апреля 2015, 20:07 | Сообщение # 3 |
New game Studio
Сейчас нет на сайте
| QNicolya, А ты не смог бы полностью написать как выглядит код?
New Games Studio --------------------------------------------------------------------------------------- Проекты: DeadDay - Online --- Мертвый день: Выживание
|
|
| |
harmoxyne | Дата: Вторник, 21 Апреля 2015, 20:08 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| DeadDay, да, конечно, пять минут.
|
|
| |
DeadDay | Дата: Вторник, 21 Апреля 2015, 20:08 | Сообщение # 5 |
New game Studio
Сейчас нет на сайте
| QNicolya, Спасибо! Жду...
New Games Studio --------------------------------------------------------------------------------------- Проекты: DeadDay - Online --- Мертвый день: Выживание
|
|
| |
harmoxyne | Дата: Вторник, 21 Апреля 2015, 20:23 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| Код program test; var a:integer; arr:array[1..10] of integer;
begin writeln('Enter array: '); for a:=1 to 10 do begin readln(arr[a]); end;
for a:=1 to 10 do if arr[a] >= 0 then write(arr[a], ' '); for a:=1 to 10 do if arr[a] < 0 then write(arr[a], ' '); writeln; end.
Сначала в каждой строчке подряд считываются 10 элементов массива, потом они же выводятся в нужно формате.
Сообщение отредактировал QNicolya - Вторник, 21 Апреля 2015, 20:23 |
|
| |
DeadDay | Дата: Вторник, 21 Апреля 2015, 20:24 | Сообщение # 7 |
New game Studio
Сейчас нет на сайте
| QNicolya, а как проверить?
New Games Studio --------------------------------------------------------------------------------------- Проекты: DeadDay - Online --- Мертвый день: Выживание
|
|
| |
harmoxyne | Дата: Вторник, 21 Апреля 2015, 20:29 | Сообщение # 8 |
заслуженный участник
Сейчас нет на сайте
| DeadDay, может не ясно изъяснил, после запуска программы появляется предложение ввести элементы массива. Каждый из них будет вводиться на отдельной строке - ввел элемент, нажал элемент, ввел дальше. Код program test; const n = 10; var a:integer; arr:array[1..n] of integer;
begin writeln('Enter array: '); for a:=1 to n do begin readln(arr[a]); end;
for a:=1 to n do if arr[a] >= 0 then write(arr[a], ' '); for a:=1 to n do if arr[a] < 0 then write(arr[a], ' '); writeln; end.
Вот тот же способ, но теперь, если надо изменить количество элементов - просто измени константу N.
|
|
| |
|
harmoxyne | Дата: Вторник, 21 Апреля 2015, 20:49 | Сообщение # 10 |
заслуженный участник
Сейчас нет на сайте
| - объявляем константу n, которая будет показывать, сколько элементов у нас будет
Код a:integer; arr:array[1..n] of integer; - объявляем переменную а, которая будет использоваться как счетчик в циклах, и массив arr, который и будет нашим основным массивом
Код begin writeln('Enter array: '); - начинаем программу, выводим предложение ввести элементы массива
Код for a:=1 to n do begin readln(arr[a]); end; - в цикле от 1 до n (которое равно 10), вводим число, введенное пользователем, в массив.
Код for a:=1 to n do if arr[a] >= 0 then write(arr[a], ' '); for a:=1 to n do if arr[a] < 0 then write(arr[a], ' '); - два цикла. В первом выводим все положительные элементы, которые найдем, во втором - отрицательные. - выводим пустую строку (необходимо на некоторый системах для избежания лишних символов) и завершаем программу.
Что конкретно непонятно?
|
|
| |
DeadDay | Дата: Вторник, 21 Апреля 2015, 20:53 | Сообщение # 11 |
New game Studio
Сейчас нет на сайте
| QNicolya, Я как понимаю, нужно с начало вывести все положительные числа. Потом числа отрицательные. диапазон от 1 до 100. Ни чего вводить не надо. Нужно просто вывести и всё!!
New Games Studio --------------------------------------------------------------------------------------- Проекты: DeadDay - Online --- Мертвый день: Выживание
|
|
| |
harmoxyne | Дата: Вторник, 21 Апреля 2015, 20:55 | Сообщение # 12 |
заслуженный участник
Сейчас нет на сайте
| DeadDay, ну как-то же тебе надо заполнить массив, который потом выводится? Просто засунь это в паскаль и попробуй, думаю ты всё поймешь.
|
|
| |
DeadDay | Дата: Вторник, 21 Апреля 2015, 21:05 | Сообщение # 13 |
New game Studio
Сейчас нет на сайте
| QNicolya, а если массив уже задать от 1 до 100, чтобы ничего не вводить?
New Games Studio --------------------------------------------------------------------------------------- Проекты: DeadDay - Online --- Мертвый день: Выживание
|
|
| |
harmoxyne | Дата: Вторник, 21 Апреля 2015, 21:07 | Сообщение # 14 |
заслуженный участник
Сейчас нет на сайте
| Код writeln('Enter array: '); for a:=1 to n do begin readln(arr[a]); end; - вот код, который отвечает за заполнение массива. Просто замени его на то, что тебе нужно.
|
|
| |
DeadDay | Дата: Вторник, 21 Апреля 2015, 21:26 | Сообщение # 15 |
New game Studio
Сейчас нет на сайте
| QNicolya, что то не пойму. Ни чего не происходит! Он спрашивает. Я ввожу от 1 до 100, он просто выводит это число и всё!!! Добавлено (21 апреля 2015, 21:26) --------------------------------------------- QNicolya, у меня есть фотка с заданием, может он поможет?
New Games Studio --------------------------------------------------------------------------------------- Проекты: DeadDay - Online --- Мертвый день: Выживание
|
|
| |
harmoxyne | Дата: Вторник, 21 Апреля 2015, 21:29 | Сообщение # 16 |
заслуженный участник
Сейчас нет на сайте
| Ну давай. Цитата вывод на экран элементы массива, сначала все положительные, затем все отрицательные. Я не понимаю, что ты не понимаешь, и чего здесь можно не понять.
Сообщение отредактировал QNicolya - Вторник, 21 Апреля 2015, 21:30 |
|
| |
|
harmoxyne | Дата: Вторник, 21 Апреля 2015, 21:39 | Сообщение # 18 |
заслуженный участник
Сейчас нет на сайте
| Ну так. Чего непонятного? Трижды сказал, даже пример показал. Просто введи 10 чисел, каждое в новой строке, (Вводишь первое число, нажимаешь энтер, вводишь второе число, нажимаешь энтер...) и посмотри на результат.
|
|
| |
|
harmoxyne | Дата: Вторник, 21 Апреля 2015, 21:48 | Сообщение # 20 |
заслуженный участник
Сейчас нет на сайте
| DeadDay, ещё что-то непонятно, или всё решено?
|
|
| |