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

Определите процедуру p(x,y), которая создает массив, переставив элементы (сначала идут все положительные числа)

14.06.2012, 16:06. Показов 693. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Определите процедуру p(x,y), которая для данного
массива чисел x создает массив y, состоящий из элементов массива
x, но переставленных так, что сначала идут все положительные
числа, а потом все остальные.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var a:array [1..20] of integer;
i:integer;
begin
   Writeln('Массим X: ');
   For i:=1 to 20 do
     begin
     randomize;
     a[i]:=-100+random(201);
     write(a[i],' ');
     end;
   Writeln;
   Writeln('Массим Y: ');
   For i:=1 to 20 do
     if a[i]>0 then write(a[i],' ');
   For i:=1 to 20 do
     if a[i]=0 then write(a[i],' ');
   For i:=1 to 20 do
     if a[i]<0 then write(a[i],' ');
end.
Добавлено через 8 часов 58 минут
Народ помогите переделать программу =((( Завтра нужно сдавать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2012, 16:06
Ответы с готовыми решениями:

Определите процедуру p (х,у),которая создает массив, в котором сначала идут все положительные числа исходного, а потом все остальные
определите процедуру p (х,у),которая для данного массива х создает массив у,состоящий из элементов...

Написать функцию, которая выводила бы вектор, в котором сначала идут положительные элементы исходного вектора
Добрый вечер всем! Столкнулся с двумя проблемами: 1-Написанием функции от вектора, которая...

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

Получить массив, в котором сначала идут положительные элементы, а затем отрицательные
Составьте программу на языке C# с использованием динамических массивов. Дан массив A размера n, не...

3
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
14.06.2012, 16:44 2
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
type
  tArr=array[1..20] of integer;
 
procedure init(var ar: tArr);
var i: integer;
begin
  Writeln('Массим X: ');
  for i := 1 to 20 do
  begin
    ar[i] := -100 + random(201);
    write(ar[i], ' '); 
  end;
  writeln;
end;
 
procedure change(var ar: tArr);
var i: integer;
begin
  Writeln('Массим Y: ');
  for i := 1 to 20 do
    if ar[i] > 0 then write(ar[i], ' ');
  for i := 1 to 20 do
    if ar[i] = 0 then write(ar[i], ' ');
  for i := 1 to 20 do
    if ar[i] < 0 then write(ar[i], ' ');  
end;
 
var
  a: tArr;
begin
  init(a);
  change(a);
  readln;
end.
Добавлено через 4 минуты
программа рабочая, вот только пара вопросов возникло:
- кто такой Массим? =)
- что написано в задании: создать другой Массим или преобразовать существующий?
если создать другой, то это будет уже не а, а к примеру b, если преобразовать существующий, то не Массим Y, а Преобразованный массим Х..... имхо..
1
Лучи добра
173 / 171 / 191
Регистрация: 08.06.2012
Сообщений: 292
14.06.2012, 16:47 3
Лови!
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
38
39
40
41
42
43
44
45
46
47
program z;
var i,n:integer;
x,y:array [1..100] of integer;
procedure p(x1:array [1..100] of integer; n1:integer; var y1:array [1..100] of integer);
     var i,j:integer;
     begin
          j:=1;
          for i:=1 to n1 do
              if x1[i]>0
                 then
                     begin
                          y1[j]:=x1[i];
                          j:=j+1;
                     end;
          for i:=1 to n1 do
              if x1[i]=0
                 then
                     begin
                          y1[j]:=x1[i];
                          j:=j+1;
                     end;
          for i:=1 to n do
              if x1[i]<0
                 then
                     begin
                          y1[j]:=x1[i];
                          j:=j+1;
                     end;
     end;
begin
     write('Ðàçìåð ìàññèâà: ');
     readln(n);
     writeln('Ââîä ýëåìåíòîâ ìàññèâà: ');
     for i:=1 to n do
         begin
              write('x[',i,']=');
              readln(x[i]);
         end;
     writeln('Ìàññèâ X');
     for i:=1 to n do
         write(x[i],' ');
     writeln;
     p(x,n,y);
     writeln('Ìàññèâ Y');
     for i:=1 to n do
         write(y[i],' ');
end.
0
0 / 0 / 0
Регистрация: 05.01.2012
Сообщений: 11
14.06.2012, 17:07  [ТС] 4
Спасибо большое за программу!
0
14.06.2012, 17:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2012, 17:07
Помогаю со студенческими работами здесь

Получить массив Y(N) такой, что в нем сначала идут положительные числа, затем отрицательные из X.
дан массив X(N). Получить массив Y(N) такой, что в нем сначала идут положительные числа, затем...

Массив: Вывести массив, где сначала идут все числа > 0 исходного массива, а все отрицательные числа заменить 0...
Помогите пожалуйста написать программу, где надо сначала создать 8-значный массив, а потом вывести...

Определите процедуру ,которая для данного массива чисел x создает массив y
5.Определите процедуру p(x,y),которая для данного массива чисел x создает массив y,состоящий из...

Сформировать новый массив в котором идут сначала отрицательные элементы, затем нули, затем положительные
Здравствуйте! Помогите пожалуйста! Задание: Дан массив из 10 чисел. Нужно сформировать новый...

Сформировать второй массив, в котором сначала идут все элементы первого массива, кратные 5, а затем все остальные
1 / Дан одномерный массив из 30 элементов. Сформировать второй массив, в котором сначала идут все...

Разместить элементы массива так,чтоб сначала шли все положительные числа,а потом-отрицательные, не создавая новый массив
Дан массив из n целых чисел. Не используя новый массив, нужно разместить элементы массива так,...


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

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

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