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

Разработать программу, которая использует генерацию случайных чисел для создания предложений

01.03.2010, 18:13. Показов 2277. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста составить программу в С++.

Задание такое: "Разработать программу, которая использует генерацию случайных чисел для создания предложений".
Подробности: 1. использовать 4 массива-указателя (char) с названиями: "article" "noun" "verb" "preposition"
2. Программа должна создавать предложения случайно выбирая слова из каждого массива в следующем порядке: article, noun, verb, preposition, article, noun.
3. Слова должны разделяться пробелами; при выводе окончательного предложения оно должно начинаться с заглавной буквы и заканчиваться точкой.
4. Программа должна генерировать 10 предложений
5. Массивы заполнить так:
article: 'the' 'a' 'one' 'some' 'any'
noun: 'boy' 'girl' 'dog' 'town' 'car'
verb: 'drove' 'jumped' 'ran' 'walked' 'skipped'
preposotiion: 'to' 'from' 'over' 'under' 'on'

Заранее спасибо!!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.03.2010, 18:13
Ответы с готовыми решениями:

Разработать консольную программу, которая использует принцип полиморфизма
Есть отношение наследования: геометрическое тело (Solid) - базовая абстракция, пирамида с квадратным основанием (Pyramid) и шар (Sphere) -...

Напишите программу, которая использует функцию для вычисления среднего геометрического трех чисел типа int, что вводит пользователь.
Напишите программу, которая использует функцию для вычисления среднего геометрического трех чисел типа int, что вводит пользователь. Язык...

Реализовать генерацию случайных чисел для игры "Угадай число"
Всем привет!написал код для игры. По условию компьютер должен загадать число от 1 до 100 и пользователь должен отгадать это число за 6...

4
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
01.03.2010, 18:41
paradox92,
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
#include <iostream>
 
int Rand(int max)
{
  return rand() % max;
}
 
int main()
{
  const char* article[] = {
    "the", "a", "one", "some", "any"
  };
  
  const int article_size = sizeof(article) / sizeof(article[0]);
  
  const char* noun[] = {
    "boy", "girl", "dog", "town", "car" 
  };
 
  const int noun_size = sizeof(noun) / sizeof(noun[0]);
 
  const char* verb[] = {
    "drove", "jumped", "ran", "walked", "skipped" 
  };
 
  const int verb_size = sizeof(verb) / sizeof(verb[0]);
 
  const char* preposition[] = {
    "to", "from", "over", "under", "on" 
  };
 
  const int preposition_size = sizeof(preposition) / sizeof(preposition[0]);
 
  const int offer_count = 10;
 
  for(int i = 0; i < offer_count; ++i){
    const int max_offer_size = 256;
    char offer[max_offer_size];
 
    sprintf(offer, "%s %s %s %s %s %s.", 
        article[Rand(article_size)], noun[Rand(noun_size)],
        verb[Rand(verb_size)], preposition[Rand(preposition_size)],
        article[Rand(article_size)], noun[Rand(noun_size)]);
 
    offer[0] = toupper(offer[0]);
 
    std::cout << offer << std::endl;    
  }
 
  return 0;
}
Результат: http://codepad.org/jd7pmN7h
1
 Аватар для paradox92
0 / 0 / 1
Регистрация: 27.02.2010
Сообщений: 38
01.03.2010, 19:59  [ТС]
Огромное спасибооо!!!
P.S. Ещё раз убеждаюсь что форум что надо! Буду изучать С++
0
 Аватар для paradox92
0 / 0 / 1
Регистрация: 27.02.2010
Сообщений: 38
30.03.2010, 19:30  [ТС]
ещё как вариант:

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
#include <iostream.h>
#include <string.h>
#include <time.h>
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
 
int main()
{
int f;
char h;
srand(time(NULL));
char *article[]={"the","a","one","some","any"};
char *noun[]={"boy","girl","dog","town","car"};
char *verb[]={"drove","jumped","ran","walked","skipped"};
char *preposition[]={"to","from","over","under","on"}; 
for (int i=0;i<=10;i++)
{
f=rand()%5;
h= toupper(article[f][0]);
cout << h;
cout<<&article[f][1]<<" ";
f=rand()%5;
cout<<noun[f]<<" ";
f=rand()%5;
cout<<verb[f]<<" ";
f=rand()%5;
cout<<preposition[f]<<" ";
f=rand()%5;
cout<<article[f]<<" ";
f=rand()%5;
cout<<noun[f]<<".\n";}
system("pause");
return 0;
}
0
 Аватар для Liss29
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,609
27.02.2017, 22:08
Кликните здесь для просмотра всего текста
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
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cstring>
#include <cctype>
 
unsigned int strlen_(char* str)
{
    unsigned int index = 0;
    for(int i = 0; str[i] != '\0'; i++)
    {
        index = i;
    }
    return index - 1;
}
using namespace std;
 
int main()
{
    const char* article[] = {"the", "a", "one", "some", "any"};
    int size_article = sizeof(article) / sizeof(article[0]);
 
    const char* noun[] = {"boy", "girl", "dog", "town", "car"};
    int size_noun = sizeof(noun) / sizeof(noun[0]);
 
    const char* verb[] = {"drove", "jumped", "ran", "walked", "skipped"};
    int size_verb = sizeof(verb) / sizeof(verb[0]);
 
    const char* preposition[] = {"to", "from", "over", "on"};
    const int size_ = sizeof(preposition) / sizeof(preposition[0]);
    const char* s0[] = {" ", "."};
 
    char offer[256];
    int end_offer = 0;
 
    const int offer_count = 8;
    srand(time(0));
        strcpy(offer, article[rand() % size_article]);
        strcat(offer, s0[0]);
    for(int i = 0; i < offer_count; i++)
    {
        if(i == 0)
        {
            //strcpy(offer, article[rand() % size_article]);
            //strcat(offer, s0[0]);
            strcat(offer, noun[rand() % size_noun]);
            strcat(offer, s0[0]);
            strcat(offer, verb[rand() % size_verb]);
            strcat(offer, s0[0]);
            strcat(offer, preposition[rand() % size_]);
            strcat(offer, s0[0]);
            strcat(offer, article[rand() % size_article]);
            strcat(offer, s0[0]);
            strcat(offer, noun[rand() % size_noun]);
            strcat(offer, s0[1]);
            *(offer + 0) = (char)toupper(offer[0]);
            strcat(offer, s0[0]);
        }
        else
        {
            end_offer = strlen_(offer);
            strcat(offer, article[rand() % size_article]);
            strcat(offer, s0[0]);
            strcat(offer, noun[rand() % size_noun]);
            strcat(offer, s0[0]);
            strcat(offer, verb[rand() % size_verb]);
            strcat(offer, s0[0]);
            strcat(offer, preposition[rand() % size_]);
            strcat(offer, s0[0]);
            strcat(offer, article[rand() % size_article]);
            strcat(offer, s0[0]);
            strcat(offer, noun[rand() % size_noun]);
            strcat(offer, s0[1]);
            strcat(offer, s0[0]);
            *(offer + end_offer + 2) = (char)toupper(offer[end_offer + 2]);
        }
    }
    for(int j = 0; offer[j] != '\0'; j++)
            cout << offer[j];
    cout << endl << endl;
    system("Pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.02.2017, 22:08
Помогаю со студенческими работами здесь

Выполнить генерацию случайных чисел
Помогите. Программку набрала, по идее должна работать. Компиляция прошла, но результат не выводит. Условие задачи: - выполнить генерацию...

сделать генерацию случайных чисел
Как сделать генерацию случайных чисел??

Что в программе отвечает за генерацию случайных чисел
Подскажите что в программе отвечает за рандом чисел...и как создаются одинаковые пары чисел??? Игра &quot;Мемори&quot;(найти одинаковые...

Однорукий бандит: усовершенствовать генерацию случайных чисел - довольно часто выпадают одни и те же комбинации
У меня такой вопрос. Вот я использовал самую обычную систему выпада рандомных чисел, но я заметил такой момент, что довольно часто выпадают...

Разработать процедуру, которая формирует вектор из заданного количества целых случайных чисел
Разработать процедуру, которая формирует вектор из заданного количества целых случайных чисел, попадающих в указанный диапазон. Среди...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
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