0 / 0 / 0
Регистрация: 07.01.2009
Сообщений: 10
1

Из одного массива в другой переписать сначала положительные элементы, затем отрицательные

07.01.2009, 16:07. Показов 3361. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
program P7;
uses crt;
var
Z: array [1..16] of integer;
R: array [1..16] of integer;
i,k: integer;
Begin
Clrscr;
writeln('Vvedite elementi massiva Z');
for i:= 1 to 16 do
begin
 readln (R[i]);
end;
 
 
writeln('Iz massiva Z v massiv R perepisivaem snachala polozhitelnie elementi,');
writeln(' a zatem otricatelnie:');
 
i:=0;
while i<16 do
 begin
 i:=i+1;
 if Z[i]>0 then begin k:=k+1;R[k]:=Z[i];end;
 end;
 
i:=0;
while i<16 do
 begin
 i:=i+1;
 if Z[i]<0 then begin k:=k+1;R[k]:=Z[i];end;
 end;
for i:= 1 to 16 do
  begin
   writeln(R[i],' ');
  end;
 readln;
End.
я ввожу элементы массива через пробел, нажимаю [enter] и ничего не происходит
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.01.2009, 16:07
Ответы с готовыми решениями:

Файлы. Переписать в другой файл сначала положительные, затем отрицательные числа
Дан файл f компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю....

Расположить в массиве Y сначала положительные, а затем отрицательные элементы массива X
uses crt; const n=10; var x,y:array of integer; i,k:byte; begin clrscr; writeln('massiv...

Расположить в массиве Y сначала положительные а затем отрицательные элементы массива X
расположить в массиве Y сначала положительные а затем отрицательные элементы массива X элементы...

Переставить элементы массива так, чтобы сначала шли нули, потом отрицательные, а затем положительные элементы
Дан одномерный массив, который содержит не более 60 вещественных чисел, среди которых есть...

8
726 / 478 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
07.01.2009, 16:22 2
Если через пробел то надо писать readln (R[1], R[2], R[3],...) Без цикла, а с циклом после ввода значения нажимать не пробел, а Enter.
1
0 / 0 / 0
Регистрация: 06.01.2009
Сообщений: 18
07.01.2009, 16:29 3
ПОМОГИТЕ МНЕ ТОЖЕ С МАССИВАМИ

В морском порту города Владивостока хранятся N контейнеров (N - чётное число). Для погрузки контейнеров на судно, чтобы обеспечить равномерную загрузку, их необходимо разделить на две половины так, чтобы их массы были максимально близки. Решить эту задачу, предполагая, что информация о массах контейнеров (в тоннах) хранится в массиве M(N). В качестве ответа указать номера контейнеров одной половины и получаемые массы для каждой из половин.
Например:
Если M(6)=(10, 15, 18, 20, 16, 14), то одну половину составят 1, 4, 5 контейнеры (другую 2, 3, 6). Масса первой группы m1=10+20+16=46 т., масса второй группы m2=15+18+14=47 т.

ВХОДНЫЕ ДАННЫЕ ВВОДЯТСЯ НЕ С ФАЙЛА, а просто с КЛАВИАТУРЫ!!!
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.01.2009, 18:23 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Да тут вообще круто.
Ввводим элементы массива Z
writeln('Vvedite elementi massiva Z');
а читаем массив R
readln (R[i]);
Потом чего-то ищем в массиве Z
if Z[i]>0 then begin k:=k+1;
Естественно не находим.
Неужели трудно найти похожую программу на форуме и по крайней мере ввод то нормально списать.
0
0 / 0 / 0
Регистрация: 06.01.2009
Сообщений: 3
07.01.2009, 19:04 5
Помогите, пожалуйста!))) С помощью процедур...

1) Даны два одномерных массива из целых чисел. Найти элементы, которые входят в один массив (найти неповторяющиеся элементы)

2) Даны 3 одномерных массива из целых чисел. Найти элементы, которые есть в 1 массиве и которых нет во 2 и 3 массивах. (просто вывести эти числа)

Заранее спасибо)))
0
0 / 0 / 0
Регистрация: 07.01.2009
Сообщений: 10
07.01.2009, 22:03  [ТС] 6
Цитата Сообщение от Игорь[Igor] Посмотреть сообщение
Если через пробел то надо писать readln (R[1], R[2], R[3],...) Без цикла, а с циклом после ввода значения нажимать не пробел, а Enter.


Спасибо за совет- я всё сделал как ты сказал, но у меня теперь другая проблема:
мне после всего этого выдаёт в таком же порядке в каком я вводил:
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10

как сделать чтобы выводилось в строчку и в нужном порядке- сначала положительные, а затем отрицательные?
0
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
08.01.2009, 00:18 7
Цитата Сообщение от Jack_Burns Посмотреть сообщение
как сделать чтобы выводилось в строчку
Pascal
1
2
for i:= 1 to 16 do  
   write(R[i],' ');
Добавлено через 1 минуту 47 секунд
writeln - это функция, которая после вывода указанных значений на экран, переставляет каретку на следующую строку.
0
0 / 0 / 0
Регистрация: 07.01.2009
Сообщений: 10
08.01.2009, 09:42  [ТС] 8
Спасибо, но я не знаю почему у меня сначала выводятся отрицательные, а затем положительные(т.е. в таком же порядке, в каком я вводил), а моя задача вывести сначала положительные элементы, а затем отрицательные
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
08.01.2009, 10:33 9
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
program P7;  
uses crt;
const n=16;//размер массива
var  
Z,R: array [1..n] of integer;//тип массива
i,k: integer;
Begin  
Clrscr;  
writeln('Vvedite ',n,' elementov massiva Z');
for i:= 1 to n do
read (Z[i]); //вводим в строку через пробел, как и положено вводить массив
readln;
 
writeln('Iz massiva Z v massiv R perepisivaem snachala polozhitelnie elementi,');  
writeln(' a zatem otricatelnie:');  
  
k:=0;
for i:=1 to n do
if Z[i]>0 then
   begin
     k:=k+1;
     R[k]:=Z[i];//переписываем положительные
   end;
for i:=1 to n do
if Z[i]<0 then
   begin
     k:=k+1;
     R[k]:=Z[i];//переписываем отрицательные
   end;
for i:= 1 to n do
write(R[i],' ');//выводим в строку
readln
End.
Добавлено через 37 минут 18 секунд
Вот здесь наверное правильнее так
Pascal
1
2
3
4
for i:= 1 to k do   
write(R[i],' ');//выводим в строку   
readln   
End.
Потому что в первом массиве могут быть нулевые элементы, которые по условию не должны перейти в новый массив и k будет меньше n.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2009, 10:33
Помогаю со студенческими работами здесь

Из данного линейного массива создать другой массив, в котором первыми будут стоять отрицательные элементы, а затем положительные
Помогите еще с одной задачей :) Из данного линейного массива создать другой массив, в котором...

В массиве, в порядке возрастания модулей упорядочить сначала положительные, затем отрицательные элементы
Помогите пожалуйста!! Вот задание: В массиве в порядке возрастания модулей упорядочить сначала...

Напечатать сначала все отрицательные, а затем положительные числа массива
Дано 100 чисел напечатать сначала все отрицательные, а затем положительные. написать программу

Переписать из исходного файла в новый сначала все положительные, а затем все отрицательные компоненты
Рябят помогите пожалуйста с паскалем задание выглядит так...Я буду очень благодарна!!!!!!)))) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru