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

Дан массив целых чисел n=25. Удалить, вставить, перенести

18.06.2012, 11:39. Показов 2383. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Исходный массив вывести на экран. Все преобразования производить с исходным массивом.

Дан массив целых чисел n=25 заполненный случайным образом числами из промежутка [-35,75].
-Удалить из него все элементы, первая цифра которых четная.
- Вставить число k1 после всех элементов, больших заданного числа, а число k2 перед всеми элементами, кратными 3.(k1 и k2 вводить с клавиатуры)
- Перенести первые k элементов в конец массива, то есть: a[k+1], a[k+2], ...,a[n], a[1], a[2], ...,a[k].
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2012, 11:39
Ответы с готовыми решениями:

Дан массив целых чисел. Перенести в начало массива минимальный элемент
дан массив целых чисел а1,…, аn. Перенести в начало массива минимальный элемент

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

Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5
нужно сделать вставку в массив.

Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5
через функцию Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число,...

1
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
18.06.2012, 15:27 2
Лучший ответ Сообщение было отмечено Promyst как решение

Решение

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
Uses crt;
const n=25;
var a,b:array[1..3*n] of integer;{возьмем размер массива с запасом для вставок чисел}
    m,i,j,c,k1,k2,k,x:integer;
begin
clrscr;
randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=-35+random(111);
  write(a[i]:4);
 end;
writeln;
writeln;
{запомним массив и его размер, будем удалять}
b:=a;
m:=n;
i:=1;
while i<=m do
 begin
  c:=abs(b[i]);
  while c>10 do
  c:=c div 10;{первая чифра}
  if c mod 2=0 then{если четная}
   begin
    if i=m then m:=m-1 {если число последнее}
    else {если не последнее}
     begin
      for j:=i to m-1 do
      b[j]:=b[j+1];{сдвигаем влево}
      m:=m-1;{уменьшаем размер}
     end;
   end
  else i:=i+1;
 end;
writeln('Удаление элементов, начинающихся на четную цифру:');
for i:=1 to m do
write(b[i]:4);
writeln;
writeln;
{опять возьмер исходный массив}
b:=a;
m:=n;
write('Введите число для сравнения c=');
readln(c);
write('Введите число для вставки после больших ',c,' k1=');
readln(k1);
write('Введите число для вставки перед кратными 3 k2=');
readln(k2);
i:=1;
while i<=m do
 begin
  if(b[i] mod 3=0)and(b[i]>c) then{если кратно 3 и больше с}
   begin
    if i=m then{число последнее}
     begin
      m:=m+2;{добавим 2}
      b[m]:=k1;{в конец к1}
      b[m-1]:=b[m-2];{само число предпоследнее}
      b[m-2]:=k2;{перед ним к2}
      break;{выходим из цикла, чтобы не проверяло к1}
     end
    else{если не последнее}
     begin
      m:=m+2;{+2}
      for j:=m downto i+3 do{сдвиг вправо на 2 элемента}
      b[j]:=b[j-2];
      b[i+2]:=k1;{за ним к1}
      b[i+1]:=b[i];{само число}
      b[i]:=k2;{перед ним к2}
      i:=i+3;{перешагиваем на +3}
     end;
   end
  else if(b[i] mod 3=0)and(b[i]<=c) then{кратное 3 и ме больше с}
   begin
    m:=m+1;
    for j:=m downto i+1 do
    b[j]:=b[j-1];
    b[i]:=k2;{вставим перед ним к2}
    i:=i+2;{перешагнем}
   end
  else if (b[i] mod 3<>0)and(b[i]>c) then{если не кратно 3 и больше с}
   begin
    if i=m then{если число последнее}
    begin
      m:=m+1;{добавим 1}
      b[m]:=k1;{в конец пишем к}
     end
    else{если не последнее}
     begin
      m:=m+1;{+1}
      for j:=m downto i+2 do{сдвиг вправо на 1 элемент}
      b[j]:=b[j-1];
      b[i+1]:=k1;{за числом пишем к1}
      i:=i+2;{перешагиваем на 2}
     end;
   end
  else i:=i+1;
 end;
writeln('Массив после вставок:');
for i:=1 to m do
write(b[i]:4);
writeln;
writeln;
{можно использовать основной масив-последнее действие}
repeat
write('Сколько элементов перенести от 1 до ',n-1,' k=');
readln(k);
until k in [1..n-1];
for i:=1 to k do{к раз}
 begin
  x:=a[1];{запоминаем ппервый}
  for j:=1 to n-1 do{сдвигаем влево на 1}
  a[j]:=a[j+1];
  a[n]:=x;{пишем его в конец}
 end;
writeln('Перестановка:');
for i:=1 to n do
write(a[i]:4);
readln
end.
0
18.06.2012, 15:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2012, 15:27
Помогаю со студенческими работами здесь

Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5
надо осуществлять в этом же массиве A, не знаю как это сделать.... using namespace std; ...

Дан массив целых чисел: удалить из него все числа от 3 до 5
1) Дан массив целых чисел (N=10), заполненный случайным образом числами из промежутка .удалить из...

Дан одномерный массив целых чисел, заполненный случайным образом числами из промежутка [-a;b]. Вставить элемен
Помогите пожалуйста :) Я только учусь С++. Так что не ругайтесь, вот что смог сделать я!...

Дан массив целых чисел найти все елементы кратные 4 и удалить их
Дан массив целых чисел найти все елементы кратные 4 и удалить их


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

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

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