Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Gipnozhab

Удалить из массива все элементы, в которых есть цифра 3

31.05.2013, 01:15. Показов 1791. Ответов 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Program Pr4;
 uses crt;
var a,b:array[1..30] of integer;
    n,i,j,k,pp,po:integer;
begin
clrscr;
randomize;
n:=15;
writeln('Исходный массив:');
for i:=1 to n do
 begin
 a[i]:=random(51)-10;
 write(a[i]:4);
 end;
writeln;
b:=a;
{удаление с цифрой 3}
i:=1;
while i<=n do
 begin
 k:=abs(b[i]);
 if(k mod 10=3)or(k div 10=3)then
 begin
 for j:=i to n-1 do
 b[j]:=b[j+1];
 n:=n-1;
 end
 else i:=i+1;
 end;
writeln('Удалены числа с цифрой 3:');
for i:=1 to n do
write(b[i]:4);
writeln;
b:=a;
n:=15;
write('Введите число для вставки k=');
readln(k);
i:=1;
while i<=n do
if b[i] mod i=0 then{отрицательные числа не кратные, у них остаток не 0, а -1
 например -2/2=-1}
 begin
 n:=n+1;
 for j:=n downto i+2 do
 b[j]:=b[j-1];
 b[i+1]:=k;
 i:=i+2;
 end
else i:=i+1;
writeln('Вставка числа ',k,' после элементов, кратных своему индексу');
for i:=1 to n do
write(b[i]:4);
writeln;
//на последнем действии можно использовать уже исходный массив
n:=15;
pp:=0;
for i:=1 to n do
if a[i]>0 then pp:=i;
po:=0;
for i:=n downto 1 do
if a[i]<0 then po:=i;
k:=a[pp];a[pp]:=a[po];a[po]:=k;
writeln('Обмен первого отрицательного и последнего положительного:');
for i:=1 to n do
write(a[i]:4);
readln
end.
Добавлено через 2 часа 56 минут
Вот текст задания
Требования к программам:
Исходный массив должен быть выведен на экран.
Все отдельные операции оформлять через подпрограммы.
Все преобразования производить с исходным массивом.
После каждого преобразования на экране должно быть представлено название преобразования и преобразованный массив или значения указанных величин, или соответствующее сообщение.

Дан массив целых чисел (n=15), заполненный случайным образом числами из промежутка [-10,40].
− удалить из него все элементы, в которых есть цифра 3.
− вставить число k после всех элементов, кратных своему номеру (k вводить с клавиатуры).
− поменять местами последний положительный и первый отрицательный элемен-ты.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.05.2013, 01:15
Ответы с готовыми решениями:

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

Удалить элементы массива, перед всеми элементами в которых есть цифра 1
Дан массив удалить элементы перед всеми элементами в которых есть цифра 1. помогите кто сможет.задача для 10го класса буду очень...

Удалить из массива все элементы, в которых предпоследняя цифра четная
Дан массив целых чисел (n=15), заполненный случайным образом числами из промежутка . − удалить из него все элементы, в которых ...

3
SausageFlat
 Аватар для Striker
242 / 221 / 154
Регистрация: 19.08.2012
Сообщений: 499
Записей в блоге: 1
31.05.2013, 07:56
Через процедуры:
1)Заполнение массива.
2)Удалить из него все элементы, в которых есть цифра 3.
3)Вставить число k после всех элементов, кратных своему номеру (k вводить с клавиатуры).
4)Поменять местами последний положительный и первый отрицательный элемен-ты.
5)Вывод.
0
Gipnozhab
05.06.2013, 16:07
Лучший ответ Сообщение было отмечено как решение

Решение

у меня получились все подпрограммы кроме вставки к
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
Program Pr4;
 uses crt;
 type mass=array [1..30] of integer;
var a,b,c,e:mass;
    o,pp,t:integer;
procedure vvod (var x:mass;n:integer);
var i:integer;
begin
Writeln('исходный массив'); 
 
      for i:=1 to n do x[i]:=random(51)-10;
      b:=a;
      c:=a;
      e:=a;
end;
procedure vivod (x:mass;n:integer);
var i:integer;
begin 
 
      for i:=1 to n do write(x[i]:5);
end;
procedure del(n:integer;var d:mass);
var i,j,k:integer;
begin 
writeln('массив с удаленными из него элементами, в которых есть цифра 3');
i:=1;
while i<=n do
 begin
 k:=abs(b[i]);
 if(k mod 10=3)or(k div 10=3)then
 begin
 for j:=i to n-1 do
 d[j]:=d[j+1];
 n:=n-1;
 inc(t)
 end
 else i:=i+1;
 end;
 pp:=o-t;
 end;
procedure obmen(var a:mass;n:integer);
var pp,po,k,i:integer;
begin
writeln('массив где последний положительный и первый отрицательный элементы поменяты местами');
pp:=0;
for i:=1 to n do
if a[i]>0 then pp:=i;
po:=0;
for i:=n downto 1 do
if a[i]<0 then po:=i;
k:=a[pp];a[pp]:=a[po];a[po]:=k;
end;
begin
clrscr;
o:=15;
t:=0;
vvod(a,o);
vivod(a,o);
writeln;
del(o,b);
vivod(b,pp);
writeln;
obmen(e,o);
vivod(e,o);
readln;
end.
 Аватар для Kordn
158 / 137 / 106
Регистрация: 18.05.2013
Сообщений: 289
07.06.2013, 15:50
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Gipnozhab Посмотреть сообщение
Все преобразования производить с исходным массивом.
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
program Pr4;
 
uses
  crt;
 
type
  mass = array [1..30] of integer;
 
var
  a: mass;
  o: integer;
 
procedure vvod(var x: mass; n: integer);
var
  i: integer;
begin
  Writeln('исходный массив'); 
  
  for i := 1 to n do x[i] := random(-10, 40);
end;
 
procedure vivod(var x: mass; n: integer);
var
  i: integer;
begin
  for i := 1 to n do write(x[i]:5);
end;
 
procedure del(var n: integer; var d: mass);
var
  i, j: integer;
begin
  writeln('массив с удаленными из него элементами, в которых есть цифра 3');
  i := 1;
  while i <= n do
  begin
    if(Abs (d[i]) mod 10 = 3) or (Abs(d[i]) div 10 = 3) then
    begin
      for j := i to n - 1 do
        d[j] := d[j + 1];
      n -= 1;
    end
    else i += 1;
  end;
end;
 
procedure InK(var n: integer; var a: mass);
var
  k: integer;
begin
  write('Введите число: ');
  readln(k);
  writeln('массив, где вставлено число ', k, ' после всех элементов, кратных своему номеру');
  var i := 1;
  while i <= n do
  begin
    if a[i] mod i = 0 then begin
      Inc(n);
      Inc(i);
      for var j := n downto i + 1 do
        a[j] := a[j - 1];
      a[i] := k;
    end;
    Inc(i);
  end
end;
 
procedure obmen(var a: mass; n: integer);
var
  pp, po, k, i: integer;
begin
  writeln('массив где последний положительный и первый отрицательный элементы поменяты местами');
  pp := 0;
  for i := 1 to n do
    if a[i] > 0 then pp := i;
  po := 0;
  for i := n downto 1 do
    if a[i] < 0 then po := i;
  k := a[pp];a[pp] := a[po];a[po] := k;
end;
 
begin
  clrscr;
  o := 15;
  vvod(a, o);
  vivod(a, o);
  writeln;
  del(o, a);
  vivod(a, o);
  writeln;
  InK(o, a);
  vivod(a, o);
  writeln;
  obmen(a, o);
  vivod(a, o);
  readln;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.06.2013, 15:50
Помогаю со студенческими работами здесь

Удалить из массива все элементы, в которых первая цифра нечетная
Надеюсь кто-то сможет помочь. Дан массив целых чисел (n=15), заполненный случайным образом числами из промежутка . − удалить из...

Удалить из массива все элементы, в которых есть цифра 5
Дан массив целых чисел (n=15), заполненный случайным образом числами из промежутка . − удалить из него все элементы, в которых есть...

Удалить из массива все элементы, в которых есть цифра 5
Дан массив целых чисел (n=15), заполненный случайным образом числами из промежутка . − удалить из него все элементы, в которых...

Удалить все элементы массива, в которых есть цифра 3
Дан массив целых чисел (n=15) заполненный случайным образом, промежутком от -20 до 50 удалить все элементы в которых есть цифра 3. Где-то...

Удалить из массива все элементы, в которых есть цифра 5
При решении задач применять процедуры и функции. Дан массив целых чисел (п=15), заполненный случайным образом числами из промежутка...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru