Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
paradox92
0 / 0 / 1
Регистрация: 27.02.2010
Сообщений: 38
1

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

01.03.2010, 18:13. Просмотров 1175. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2010, 18:13
Ответы с готовыми решениями:

Разработать функцию для вычисления величин, указанных в задании. Составить программу, которая использует разработанную ф
Сама фукция: f(x)=arcctg x,x≠0, Обратите внимание это арккотангенс

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

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

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

Реализовать генерацию случайных чисел с помощью функции srand()
Ребят, есть функция srand(time(NULL)). Хочу поместить ее в цикл, чтоб с...

4
CyBOSSeR
Эксперт С++
2310 / 1683 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
01.03.2010, 18:41 2
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  [ТС] 3
Огромное спасибооо!!!
P.S. Ещё раз убеждаюсь что форум что надо! Буду изучать С++
0
paradox92
0 / 0 / 1
Регистрация: 27.02.2010
Сообщений: 38
30.03.2010, 19:30  [ТС] 4
ещё как вариант:

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
27 / 16 / 4
Регистрация: 18.11.2012
Сообщений: 592
Завершенные тесты: 1
27.02.2017, 22:08 5
Кликните здесь для просмотра всего текста
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
27.02.2017, 22:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2017, 22:08

Напишите программу которая использует функцию для подсчета букв.
Ку, всем. Можете помочь и наглядно обеснить. Напишите программу которая...

Составить программу, которая формирует файл целых чисел, получаемых с помощью датчика случайных чисел
Блин, братва!!!!=) Последняя работа в этом году, а сдать нужно до субботы,...

написать программу, которая выдает 20 случайных чисел
написать программу, которая выдает 20 случайных чисел между 1 и 20. программа...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru