Лиззовета
18.05.2020 11:23

С++ Напишите программу, которая играет в игру "Угадай число" следующим образом: ваша
программа "планирует" число (случайное число в диапазоне от 1 до 1000), которое т
угадать. Далее программа печатает:
У меня есть число между 1 и 1000 Отгадайте и введите ваше число ...
Далее игрок вводит первое число. Программа соответствует одной из фраз:
Прекрасно! Вы угадали число! Будете играть дальше?
Слишком мало. Попробуйте еще раз.
Слишком велико. Попробуйте еще раз.
При реализации игры необходимо написать функцию, которая принимает два числа:
"Задуманное" и ответ игрока, а после анализа печатать одну из фраз.
Вот код но мне нужно с функции переделать.
#include
#include
#include
#include
#include
using namespace std;
void main()
{
setlocale(LC_CTYPE, "ukr");
srand(unsigned(time(NULL)));
int a, b, i;
a = rand() % 1000 + 1;
printf( "Гра \"Вгадай число\".\n\n");
printf( "У мене є число між 1 та 1000.\n");
printf( "Відгадайте і введіть ваше число\n\n");
for (i = 1; i < 100; i++)
{
printf( "--->");
scanf_s("%d",&b);
if (b == a)
{
printf("Чудово! Ви вгадали число! Будете грати далі?\n");
printf("Ви вгадали число з %d попитки!\n",i);
break;
}
if (b > a)
{
printf("Занадто велике. Спробуйте ще раз.\n");
}
if (b < a)
{
printf("Занадто мале. Спробуйте ще раз.\n");
}
}
if (b != a && i == 100)
{
printf("Нажаль ви так і не вгадали число ");
printf("\n");
}
}

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
rybakovjaroslav
30.05.2023 02:23

using System.Linq;

using static System.Console;

 class Program

{

   static void Main(string[] args)

   {

       // заданная строка

       Write("Введите сообщения: ");

       string s = ReadLine();

       // Выведены те слова, которые содержат хотя бы одну цифру

       string[] div = s.Split(' ', ',', '.', '-', '!', '?');

       for (int i = 0; i < div.Length; i++)

       {

           int count = div[i].Where(x => char.IsDigit(x)).Count();

           if (count.Equals(1))

           {

               WriteLine("Слова с цифрами: {0}: ", div[i]);

           }

       }

   }

  }

0,0(0 оценок)
Ответ:
Сани56
11.01.2021 13:16
Const
  n=50; { максимальное число различных слов в строке }
  del=[' ','.',',',':',';','-','!','?','/'];
var
  mw:array[1..n] of string; { найденные слова }
  mk:array[1..n] of integer; { количество повторений слов }
  s,w:string;
  i,j,k,l,m:integer;
  skip,new_word:boolean;
begin
  Write('Введите текст: ');
  Readln(s);
  s:=s+' ';
  Write('Укажите предельное число повторений слова: ');
  Read(k);
  l:=Length(s);
  m:=0;
  skip:=(s[1] in del);
  if skip then w:='' else w:=s[1];
  for i:=2 to l do
    if s[i] in del then begin
      if not skip then begin
        { w содержит очередное найденное слово }
        j:=1; new_word:=true;
        while (j<=m) and new_word do begin
          if w=mw[j] then begin Inc(mk[j]); new_word:=false end;
          Inc(j)
        end;
        if new_word then begin Inc(m); mw[m]:=w; mk[m]:=1 end;
        w:=''; skip:=true
      end
    end
    else
      if skip then begin w:=s[i]; skip:=false end
      else w:=w+s[i];
  { фраза разобрана и проанализирована }
  j:=0; i:=1;
  while (i<=m) and (j=0) do begin
    if mk[i]>k then j:=i;
    Inc(i)
  end;
  if j>0 then begin
    Writeln('Слова, которые встретились больше, чем ',k,' раз:');
    Writeln(mw[j]);
    for i:=j+1 to m do
      if mk[i]>k then Writeln(mw[i]);
  end
  else  Writeln('Нет слов, которые встретились больше, чем ',k,' раз.')
end.

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