xeniakudriavts1
08.11.2022 01:50

(желательно на C++) Написать программу. У нас имеется социальная сеть, где записи о пользователях и отношения дружбы задаются в двух файлах. файл 1 (файл с анкетами) содержит идентификатор пользователя, Имя, Фамилию, дату рождения и имеет следующий вид:

id123; Егор Васильев; 11.05.2001 id354; Петр Васин; 13.06.2005 id923; Антон Кулаков; 05.01.1996

Файл 2 содержит записи отношений дружбы. В каждой строке на первом месте стоит идентификатор пользователя, далее через разделитель его друзья. Отношения дружбы однонаправленные (как в примере файла) пример

id123; id354 id354; id123; id923 id923; id354; id123

Функционал программы:

вывести Имена/фамилия всех пользователей и возраст (не дату рождения)
По запросу пользователя, который указывает двух пользователей соцсети (вводит фамилию), проверить возможность отправки письма от одного пользователя другому. если напрямую отправить нельзя, рассчитать последовательность отправки сообщений через цепочку знакомств (вывести данную последовательность).
Сообщения можно отправить только подтверждённым (взаимным) друзьям. Если при вводе фамилии есть несколько однофамильцев в базе, предложить выбрать из имеющихся.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
иришка19911
10.05.2021 08:30

1шаг

опустим, что вы скачали и установили паскаль. Затем откройте его. Для программирования вам надо небольшое знание английского языка. Суть нашей программы в том, чтобы она складывала любые числа. Для этого нам нужны переменные. Чисел у нас будет 2. Но в каждой задаче, даже в самой простой, есть ответ. Значит добавляем 3 переменную.

  2шаг

И так. Чтобы оформить наши переменные перейдите на английский язык и напишите в начале программы слово “var”. А после через запятую наши 3 переменные, а, в, с, и через двоеточие поставьте тип “integer” Далее напишите begin – начать.
На данном этапе программа будет выглядеть так:

var a,b,c:integer;
begin

  3шаг
0,0(0 оценок)
Ответ:
valenkov05
20.03.2020 12:59

ответ 18662

 

 

Реализация на Haskell

 

divisors n = [x | x <- [1..(n - 1)], rem n x == 0]
primes = [n | n <- [1..], isPrime n] where isPrime x = (divisors x == [1])
prime = last $ take (11+1) primes

calc :: Integer->Integer->Integer
calc x sm | x>100000 = sm
calc x sm | (x `mod` 2 /= 0 &&
x `mod` 3 /= 0 &&
x `mod` 5 /= 0 &&
x `mod` 7 /= 0 &&
x `mod` 11 /= 0 &&
x `mod` 13 /= 0 &&
x `mod` prime /= 0) = calc (x+1) (sm+1)
| otherwise = calc (x+1) sm

main :: IO ()
main = putStrLn $ show $ calc 1 0

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота