Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
13 / 13 / 14
Регистрация: 11.11.2012
Сообщений: 147

Задача на множества: из каждого числа удалить цифру, которая входит в каждое число

25.02.2013, 19:50. Показов 1471. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
дан массив чисел, из каждого числа удалить цифру, которая входит в каждое число.
Решать с помощью множеств. Помогите плиз.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.02.2013, 19:50
Ответы с готовыми решениями:

Определить, входит ли в заданное число "5" и "6", а также вывести наибольшую цифру, которая в него входит.
Дано четырехзначное число.Определить 1)входит ли туда 5 и 6 2) и вывести наибольшее число которое туда входит Например 2946 ...

Задача - программа, которая выведет каждое четвертое число из введенных с клавиатуры
Доброй ночи, спасибо всем кто поможет! Задача - программа, которая выведет каждое четвертое число из введенных с клавиатуры...

Удалить в записи числа цифру, повторяющуюся максимальное число раз
Удаляет в записи числа цифру, повторяющуюся максимальное число раз, получая новое число;

9
Кодинг - это искусство...
 Аватар для Sckrejjet
64 / 64 / 42
Регистрация: 07.01.2013
Сообщений: 156
25.02.2013, 20:04
Можно немного поподробнее развернуть условие задачи...? Очень сложно представляется такое условие:
из каждого числа удалить цифру, которая входит в каждое число.
0
 Аватар для ermolay
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
25.02.2013, 20:06
Sckrejjet, если рассматривать два числа: 123 и 426, то нужно удалить из обоих чисел цифру 2.. Если я правильно понял..
0
Кодинг - это искусство...
 Аватар для Sckrejjet
64 / 64 / 42
Регистрация: 07.01.2013
Сообщений: 156
25.02.2013, 20:07
Например: [67,456,46,16,6,1236,656] здесь надо убрать только шестерки или так же четверки, единицы, пятерки?
0
13 / 13 / 14
Регистрация: 11.11.2012
Сообщений: 147
25.02.2013, 20:31  [ТС]
Цитата Сообщение от ermolay Посмотреть сообщение
Sckrejjet, если рассматривать два числа: 123 и 426, то нужно удалить из обоих чисел цифру 2.. Если я правильно понял..
Ты все правильно понял

Цитата Сообщение от ermolay Посмотреть сообщение
Например: [67,456,46,16,6,1236,656] здесь надо убрать только шестерки или так же четверки, единицы, пятерки?
Только шестерки.

Меня просто одногруппник попросил помочь, а время найти на него никак не могу, так что он полностью полагается на вас, завтра последний день сдачи этой лабы)

Как я представляю решения этой задачи. Берем первое число в массиве, разбиваем его на однозначные числа (от 0 до 9) и сравниваем каждую цифру с каждый числом в массиве, предварительно также разбив его на однозначные числа. Если у нас количество повторяющихся цифр больше или равно количеству числе в массиве, значит удаляем эту цифру. Как то так представляю.
0
Кодинг - это искусство...
 Аватар для Sckrejjet
64 / 64 / 42
Регистрация: 07.01.2013
Сообщений: 156
25.02.2013, 20:39
"Беда", тогда, только в одном - зачем здесь вообще использовать множества...?
0
13 / 13 / 14
Регистрация: 11.11.2012
Сообщений: 147
25.02.2013, 21:47  [ТС]
Цитата Сообщение от Sckrejjet Посмотреть сообщение
"Беда", тогда, только в одном - зачем здесь вообще использовать множества...?
Ну сейчас множества проходим, препод дал задачу, нужно решить их с помощью множеств.

Добавлено через 1 час 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
68
69
70
program vadik_mena_kormit;
 
var
  a: array [1..10] of byte;
  m1: set of byte;
  i, k, x, y, el, tof,kol: byte;
 
 
procedure check(var el: byte);
var
  st: string;
  j: integer;
begin
  st := IntToStr(el);
  for j := 1 to length(st) do
  begin
    include(m1, StrToInt(st[1]));
    Delete(st, 1, 1);
  end;
end;
 
 
 
 
function obed(var tof: byte): integer;
 
var
  st: string;
  i, j: integer;
  b: array [1..10] of integer;
begin
 
  st := IntToStr(tof);
  
  for i := 1 to length(st) do
  begin
    b[i] := StrToInt(st[1]);
    Delete(st, 1, 1);
  end;
  
 
 
end;
 
 
begin
  write('Количество элементов в массиве =');
  read(y);
  
  writeln('Введите элементы массива');
  
  for i := 1 to y do
  begin
    write('a[', i, ']=');
    readln(a[i]);
  end;
  
  el := a[1];
  
  Check(el); 
  
   
  for i := 1 to y do
  begin
    tof := a[i];
    kol:=kol+Obed(tof);
  end;
      writeln(kol);
  
end.
0
Кодинг - это искусство...
 Аватар для Sckrejjet
64 / 64 / 42
Регистрация: 07.01.2013
Сообщений: 156
25.02.2013, 23:41
Сделал с максимальным использованием множеств Правда работает правильно, если повторяется одна цифра Основную свою задачу программа выполняет, но если надо будет, чтобы она удаляла абсолютно все повторяющиеся цифры, то напишите здесь

Вводить [12,323,232,221,421,223,425,321,622,224] можно (повторяется только 2)

Вводить [123,232,324,523,632,362,273,32,23,312] нельзя, так как тут две повторяющиеся цифры(2 и 3), а программа рассчитана на одну ошибки не будет, но выполнится не до конца

Вводить [...,22,222,...] нельзя, так как удалятся все цифры, но integer пустым быть не может и 0 записать нельзя, так как в таком случае задание не выполняется, как должно

вот сам код:
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
uses crt;
type
  Tmasstr = array [1..10] of string;
  Tmasint = array [1..10] of integer;
  Tmnog = set of '0'..'9';
  Tmasmnog = array [1..10] of Tmnog;
  
var
  i,x: integer;
  masint: Tmasint;
  masstr: Tmasstr;
  cifra:Tmnog;
  masmnog: Tmasmnog;
 
function IntToMnog(ps: string) : Tmnog;
var
  i:integer;
begin
  Result:=[];
  for i:=1 to Length(ps) do
    begin
      Include(Result,ps[i]);
    end;
end;
 
procedure DeleteNumber(var pmasstr:Tmasstr; pcifra:Tmnog);
var
  i,j: integer;
  s,a: string;
begin
  for i:=0 to 9 do
    begin
      Str(i,a);
      if (a[1] in cifra) then
        break;
    end;
    
  Writeln('Povtoryauschayasya cifra: ',a);
  
  for i:=1 to 10 do
    begin
      s:=pmasstr[i];
      for j:=1 to length(s) do
        begin
          if s[j]=a[1] then
            Delete(s,j,1);
        end;
      pmasstr[i]:=s;
    end;
end;
 
Begin
  for i:=1 to 10 do
    begin
      Write('a[',i,'] =');
      readln(masint[i]);
      Str(masint[i],masstr[i]);
      masmnog[i]:=IntToMnog(masstr[i]);
    end;
    
  Write('Ishodniy mfssiv: ');
  for i:=1 to 10 do
    write(masint[i]:4);
  writeln;
 
  cifra:=masmnog[1];
  
  for i:=2 to 10 do
    begin
      cifra:=cifra*masmnog[i];
    end;
 
  if cifra<>[] then
    begin
      DeleteNumber(masstr,cifra);
    end;
 
  for i:=1 to 10 do
    Val(masstr[i],masint[i],x);
    
  Write('Konechniy mfssiv: ');
  for i:=1 to 10 do
    write(masint[i]:4);
  
End.
Добавлено через 11 минут
Цитата Сообщение от Sckrejjet Посмотреть сообщение
Вводить [...,22,222,...] нельзя, так как удалятся все цифры, но integer пустым быть не может и 0 записать нельзя, так как в таком случае задание не выполняется, как должно
хочу пояснить более подробно суть проблемы
если среди элементов массива попадется число состоящее из одинаковых цифр (2,33,555), то толку не будет Точно я не проанализировал последствия такого случая, ошибки не выдает, но работу не выполняет И вообще само задание исключает ввод таких чисел, так как оставить ячейку типа integer пустой нельзя, а заполнение ее 0 противоречит заданию (надеюсь я Вас запутал )

Добавлено через 15 минут
И еще по поводу функций IntToStr и StrToInt Эти функции для предназначены для Delphi Я бы сам рад их юзать, но человек более продвинутый в Pascale сделал, однажды, мне замечание Поэтому в Pascal используются процедуры Str(x:integer,s:string); и Val(s:string,x:integer,code:integer); для чего предназначен code я так и не понял, поэтому просто создаю для него ненужную мне переменную типа integer, чтобы компилятор не "ругался"
Эти процедуры возвращают значения через формальные параметры, так что использовать их удобно
1
13 / 13 / 14
Регистрация: 11.11.2012
Сообщений: 147
26.02.2013, 08:10  [ТС]
Спасибо, надеюсь разберется.

А на счет StrToInt все объяснимо тем, что я работаю с delphi, поэтому для меня это норм)
Спасибо
0
Кодинг - это искусство...
 Аватар для Sckrejjet
64 / 64 / 42
Регистрация: 07.01.2013
Сообщений: 156
26.02.2013, 12:05
Да, это мне знакомо Сам постоянно с Делфи путаю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.02.2013, 12:05
Помогаю со студенческими работами здесь

Программа, которая определяет, какую следует удалить цифру из числа, чтобы получить максимальное значение
Программа, которая определяет номер цифры, какую следует выкреслить, что бы получить максимальное значение. Например: 783 - вычеркиваем 7 -...

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

Как сделать через класс? Дано число. Удалить из числа первую и последнюю цифру
...

Дано четырехзначное натуральное число. Удалить из записи этого числа все чётные цифры и цифру 0
Дано четырехзначное натуральное число. Удалить из записи этого числа все чётные цифры и цифру 0. По возможности не решать задачу а...

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru