Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 17.02.2022
Сообщений: 24

Напечатать фразу "Мы успешно сдали n экзаменов", согласовав окончание слова "экзамен" с числом n

17.02.2022, 20:41. Показов 2041. Ответов 14

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста написать код, пытаюсь, но никак не могу догадаться как это сделать.
1) Дано число n. Напечатать фразу "Мы успешно сдали n экзаменов", согласовав окончание слова "экзамен" с числом n. Предусмотреть, что 1 ≤ n ≤ 25.
2) Дано число c. Распечатать величину этого числа в словесной форме. Предусмотреть, что 0 ≤ с ≤ 7.

Пытался так сделать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
 int n;
 cin >>n;
if (n>=1) && (n<=25) cout <<"Мы успешно сдали "n" экзаменов";
else
 
 
    return 0;
}
 Комментарий модератора 
На будущее: одна тема - одна задача
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2022, 20:41
Ответы с готовыми решениями:

Для натурального числа k напечатать фразу «мы нашли k грибов в лесу», согласовав окончание слова «гриб» с числом k
Для натурального числа k напечатать фразу «мы нашли k грибов в лесу», согласовав окончание слова «гриб» с числом k .

Для дробного числа К напечатать фразу "мы нашли К грибов в лесу", согласовав окончание слова "гриб" с числом К
Для дробного числа К напечатать фразу &quot;мы нашли К грибов в лесу&quot;, согласовав окончание слова &quot;гриб&quot; с числом К. Как это...

Вводится число экзаменов N<=99. Напечатать фразу "Мы успешно сдали N экзаменов", согласовав слово "экзамен" с числом N
Вводится число экзаменов N&lt;=99. Напечатать фразу &quot;Мы успешно сдали N экзаменов&quot;, согласовав слово &quot;экзамен&quot; с числом...

14
 Аватар для PencilTorch
90 / 60 / 32
Регистрация: 06.08.2020
Сообщений: 220
17.02.2022, 21:11
Вы двигаетесь в верном направлении. Но для начала просто возьмите листок бумаги и напишите: 1 экзамен, 2 - 4 экзамена, 5 - 25 экзаменов. И, получается достаточно следующего условия:
if(n == 1) первый случай;
else if(n > 1 && n < 5) второй интервал;
else if(n > 4 && n <= 25) третий интервал.
0
21 / 55 / 9
Регистрация: 29.09.2011
Сообщений: 617
17.02.2022, 21:31
Лучший ответ Сообщение было отмечено hillet как решение

Решение

C++
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
#include <iostream>
 
int main(){
    int n,k,l;
    std::cout << "Сколько всего экзаменов у нас было?";
    std::cin >> k;
    std::cout << "\nСколько экзаменов на пересдачу?";
    std::cin >> l;
    n = k - l;
    std::cout << "\nБлагодоря Cyberforum мы успешно сдали " << n << " ";
    
    if(n > 4 && n < 21) 
        std::cout << "экзаменов.\n";
    else
        switch(n % 10){
            case 1:
                std::cout << "экзамен.\n";
                break;
            case 2:
            case 3:
            case 4:
                std::cout << "экзамена.\n";
                break;
            default:
                std::cout << "экзаменов.\n";
        }
    if (l == 0) 
        std::cout << "Мы молодцы!\n";
    return 0;
}
https://ideone.com/rKaLUe

Добавлено через 46 секунд
PencilTorch,
Не совсем так. 12 - экзаменов, 21 - экзамен.

Добавлено через 4 минуты
Вторую задачу давайте Вы сами как - нибудь. Образец, как делать, дан.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
17.02.2022, 21:56
C++
1
2
3
4
5
6
7
8
string ok;
int nd = n%10
if (n%10 >4 || nd !=1)
   ok = "ов";
else if  (n%10 <=4 && n%10>= 2)
   ok = "а";
else ok = "";
cout << " Мы сдали " << n << " экзамен" << ok;
1
0 / 0 / 0
Регистрация: 17.02.2022
Сообщений: 24
18.02.2022, 04:15  [ТС]
Цитата Сообщение от _20_ Посмотреть сообщение
Вторую задачу давайте Вы сами как - нибудь. Образец, как делать, дан.
Я бы с радостью, но подскажите, как мне вывести, чтобы выдавало в величину числа?
0
21 / 55 / 9
Регистрация: 29.09.2011
Сообщений: 617
18.02.2022, 04:21
hillet,
А что такое величина числа?
0
0 / 0 / 0
Регистрация: 17.02.2022
Сообщений: 24
18.02.2022, 04:32  [ТС]
Цитата Сообщение от _20_ Посмотреть сообщение
А что такое величина числа?
Не знаю, не пойму
0
21 / 55 / 9
Регистрация: 29.09.2011
Сообщений: 617
18.02.2022, 04:38
Тогда Вам надо сначала понять что от Вас требуется в задании. Попробуйте подойти к учителю.
0
 Аватар для YUEN HOIFEF
252 / 185 / 47
Регистрация: 31.01.2021
Сообщений: 934
18.02.2022, 04:43
Величина числа в словестной форме: пять, десять, двадцать и т.д.

Добавлено через 2 минуты
Надо массив "словесных форм"
0
21 / 55 / 9
Регистрация: 29.09.2011
Сообщений: 617
18.02.2022, 04:51
hillet,
Ваш учитель, оказывается, тоже здесь зарегистрирован
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
18.02.2022, 14:46
Цитата Сообщение от YUEN HOIFEF Посмотреть сообщение
Величина числа в словестной форме
Где-то было у меня. Попробую поискать... Называлось - "сумма прописью"

Добавлено через 33 минуты
Поискал по сусекам... Старинное... В ДОСе еще И на Си (As Is)
C
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
#include <stdio.h>
 static char *sot[]={"сто","двести","триста","четыреста",
             "пят","шест", "сем","восем","девят" };
 static char *desiat[]={" двадцать"," тридцать"," сорок"," пят"," шест",
                " сем"," восем"," девяносто" };
 static char *edm[]={""," один"," два"," три"," четыре"," пять"," шесть",
             " семь"," восемь",
             " девять"," десять"," один"," две"," три",
             " четыр"," пят"," шест"," сем"," восем"," девят" };
 static char *edw[]={" одна"," две" };
 static char *nmtr[]={" тысяч"," миллион"," миллиард", " триллион",
               " квадриллион", " квинтиллион", " сектиллион", " септаллион", NULL };
         // дальше не знаю, м.б. товарищи подскажут ...
 static char *nokm[]={"а","ов" };
 static char *nokt[]={"а","и","" };
/* ------------------ */
Propis2(unsigned long L, int n, char *s) // Число прописью
{ int R, ns, nd, r; char *p; unsigned long M;
 
   M = L / 1000;
   R = L % 1000;
   if (M != 0) Propis2(M, n+1, s);  // Рекурсия!
   if (R==0) return;
   ns = R / 100;
   if (ns)    sprintf(s+strlen(s), " %s", sot[ns-1]);
   if (ns>=5) strcat(s, "ьсот");
   R = R % 100;  // < 100
   nd = R / 10;  // Десятки
   if (nd >= 2) {
      strcat(s, desiat[nd-2]);
      if (nd>=5 && nd<=8) strcat(s, "ьдесят");
      R = R % 10;
   }
   r = sklon(R);
   if (n==1 && R>0 && R<3) p = edw[R-1];
   else                    p = edm[R];
   strcat(s, p);
   if (R > 10) strcat(s, "надцать");
   if (n > 0) {
     strcat(s, nmtr[n-1]);
     if     (n==1) strcat(s, nokt[r]);
     else if (r>0) strcat(s, nokm[r-1]);
   }
}
/*********************/
sklon(int dd)    /* Определение склонения числа */
{ int n, r;
 
    r = 2;
    n = dd % 100;
    if (n>4 && n<20) return(r);
    n = n % 10;
    if      (n==1)       r = 0;
    else if (n>1 && n<5) r = 1;
    return(r);
}
/* ------------------ */
long atol(char *b);
main()
{ char b[200], s[1000]; unsigned long L;
 
a: printf(">");
   gets(b);
   if (strlen(b)==0) return;
   s[0] = '\0';
   L = atol(b);
   Propis2(L, 0, s);
   printf("%s\n", s);
   goto a;
}
/**********************/
2
 Аватар для YUEN HOIFEF
252 / 185 / 47
Регистрация: 31.01.2021
Сообщений: 934
18.02.2022, 16:32
Байт,
Поискал по сусекам
As is
КРАСОТА!
Пусть попробует скажет что это не то.
0
21 / 55 / 9
Регистрация: 29.09.2011
Сообщений: 617
18.02.2022, 18:36
YUEN HOIFEF,
Вот - вот, у меня тоже такая реакция была. Великолепно! А главное, полностью закрывает задачу ТС. За это не то что 5, а 6 можно поставить.

Байт,
Скажите пожалуйста, а какой сферой деятельности Вы занимались, что Вам пришлось септилионы переводить? В астрологии?
0
0 / 0 / 0
Регистрация: 17.02.2022
Сообщений: 24
18.02.2022, 19:13  [ТС]
Добавлено через 48 секунд
Цитата Сообщение от Байт Посмотреть сообщение
Где-то было у меня. Попробую поискать... Называлось - "сумма прописью"
Спасибо, я выполнил задачу, конечно чу-чуть иначе, но Ваш вариант тоже ничего!
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
18.02.2022, 20:00
YUEN HOIFEF, _20_, Спасибо за высокую оценку! Я право, тронут...
Даненько это было... Были и мы рысаками...
Цитата Сообщение от _20_ Посмотреть сообщение
В какой сферой деятельности Вы занимались, что Вам пришлось септилионы переводить? В астрологии?
Нет. Фабрика "Дукат", ноне - "Лигет"Б Накладные. В самый разгар инфляция. И кто-меня спросил, что я буду делать, если придется внедрять продукт на Украине. А там инфляция была на порядок выше...
Астрологией тоже ханимался. Но там не нужно переводить расстояния в прописи. Углы - да. С углами там свои заморочки...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.02.2022, 20:00
Помогаю со студенческими работами здесь

Для натурального числа k напечатать фразу: «Мы нашли k грибов в лесу», согласовав окончание слова «гриб» с числом k
Для натурального числа k напечатать фразу: «Мы нашли k грибов в лесу», согласовав окончание слова «гриб» с числом k.

Для натурального числа X напечатать фразу «мы нашли X ракушек на пляже», согласовав окончание слова «ракушек» с числом X
class Program {

Напечатать фразу "мы нашли К грибов в лесу", согласовав окончание слова "гриб" с числом К
Для натурального числа К напечатать фразу &quot;мы нашли К грибов в лесу&quot;, согласовав окончание слова &quot;гриб&quot; с числом К. Обратите...

Напечатать фразу "мы нашли К грибов в лесу" согласовав окончание слова "гриб" с целым числом К
а можете эту задачу на Free Pascal сделать?=)очень надо

Напечатать фразу "мы нашли К грибов в лесу" согласовав окончание слова "гриб" с целым числом К
решить задачу для натурального числа К напечатать фразу &quot;мы нашли К грибов в лесу&quot; согласовав окончание слова &quot;гриб&quot; с целым...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru