Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 04.07.2019
Сообщений: 22
1

Как реализовать функцию?

09.08.2019, 19:34. Показов 1311. Ответов 5

Подскажите как организовать нижеприведенную функцию, чтобы при вызове в main а и b каждый раз генерировали новые числа, у меня она почему-то вообще не работает, не пойму что не так
C++
1
2
3
4
5
6
7
8
9
10
int rand(int a, int b)
{
for (int i=1;i<=5;i++)
{
a = rand () %9;
b = rand () %9;
int result = a*b;
cout <<a <<" * "<< b << endl;
}
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.08.2019, 19:34
Ответы с готовыми решениями:

Реализовать и протестировать функцию перегрузки операции потокового вывода как дружественную функцию для класса Matrix
Добавить в определение класса Matrix, реализовать и протестировать функцию перегрузки операции...

Как реализовать функцию?
Функция должна считывать из файла посимвольно строку, встречая символ &quot;;&quot; то что до него...

как реализовать френдли функцию ?
В классе есть функция для вычисления площади шестиугольника, надо использовать френдли функцию,...

Как процедуру в Паскале реализовать, как функцию в с++?
Здравствуйте! Есть код на Паскале. Нужно процедуру реализовать в С++ как функцию. Возможно ли в...

5
359 / 226 / 120
Регистрация: 25.06.2019
Сообщений: 830
09.08.2019, 19:37 2
а для чего 5 раз?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int Rand(int &a, int &b)
{
for (int i=1;i<=5;i++)
{
a = rand () %9;
b = rand () %9;
int result = a*b;
cout <<a <<" * "<< b << endl;
}
return result;
}
....
int a,b;
srand(time(0));
Rand(a,b);
1
1732 / 920 / 382
Регистрация: 11.10.2018
Сообщений: 4,801
09.08.2019, 19:42 3
Лучший ответ Сообщение было отмечено M_K_ как решение

Решение

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
#include <iostream>
#include <cstdlib>
using namespace std;
 
int PotatoRand(int &a, int &b)  //Если нужно вывести значения наружу, то используйте передачу по ссылке
{
    int Result;    
 
    for(int i = 0; i < 5; i++)
    {
        a = rand()%9;
        b = rand()%9;
        Result = a*b;
        cout << a << " * " << b << "\n";
    }
}
 
int main()
{
    int x, y;
 
    PotatoRand(x, y);
    cout << "x = " << x << "\n";
    cout << "y = " << y << "\n";
    
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 04.07.2019
Сообщений: 22
09.08.2019, 19:46  [ТС] 4
Да это взято из мини-программки по таблице умножения. У меня не работает почему то, на экран не выводит значения, когда вызываю эту функцию. Такой же код без функции, просто написанный в main - работает.

FFPowerMan, спасибо!
0
0 / 0 / 0
Регистрация: 04.07.2019
Сообщений: 22
11.08.2019, 21:05  [ТС] 5
Кто может еще подсказать по похожему заданию? (Написать программу проверки знания таблицы умножения. Программа выводит 5 примеров и выставляет оценку: 5 прав. ответов - отлично, 4 - хорошо, 3 - удовл., меньше 3 - плохо.) Сделал две функции, но почему то в любом случае выдает "плохо".
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
int Rand(int &a, int &b)
{
        int Result, otvet, k;
        a = rand() % 9;
        b = rand() % 9;
        Result = a*b;
        cout << a << " * " << b << "\n";
        cout << "Ответ " <<endl;
        cin >> otvet;
        if (otvet == Result) k++;
}
int showresult(int &k)
{
       if (k == 5) cout << "Отлично" << endl;
       if (k == 4) cout << "Хорошо!" << endl;
       if (k == 3) cout << "Удовлетворительно!" << endl;
       if (k < 3) cout << "Плохо! Попробуйте еще раз!" << endl;
}
int main()
{
       setlocale(LC_ALL, "rus");
       int a, b, k = 0;
       int otvet, Result;
       srand ( time(NULL) );
       for (int i=0;i<5;i++)
       {
             Rand(a, b);
       }
showresult(k);
 
 return 0;
}
0
6461 / 4395 / 2517
Регистрация: 18.12.2017
Сообщений: 13,738
11.08.2019, 22:23 6
M_K_, без функции подойдёт ? взял 1 уровень кода из темы:
Работа с циклами
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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));    
    int a, b, c, bal;   
   
    do
    {
        bal=0;
        for (int i = 1; i <= 5; i++)
        {    
            a=rand()%9+1;
            b=rand()%9+1;
            cout << a << "*" << b << "=";
            cin >> c;
        if (a*b==c) bal++;     
        }
        if (bal==5) cout << "Result: 5 out of 5  FINE!!!\n";        
        else cout << "Result: " << bal << " out of 5  Repeat please...\n"; 
    }    
    while (bal!=5); 
    
system("pause");
return 0;
}
Добавлено через 38 минут
вот работающий код на основе Вашего:
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
#include <iostream>
using namespace std;
 
bool Rand()
{
    int a, b, c;
    a=rand()%9;
    b=rand()%9;        
    cout << a << "*" << b << "=";        
    cin >> c;
    if (c==a*b) return true;
    return false;
}
 
void ShowResult(int k)
{
    if (k == 5) cout << "Fine!!!\n";
    else if (k == 4) cout << "Good!!!\n";
    else cout << "Bad!!!, Repeat please...\n";       
}
 
int main()
{
    srand((int)time(0));
    int k;
    
    do
    {
    k=0;
    for (int i = 1; i <= 5; i++)       
        if(Rand()) k++;          
       
    ShowResult(k);
    }
    while (k < 4);  
 
system("pause");
return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2019, 22:23

Как реализовать функцию, чтения из файла с сравнением?
Функция должна считывать из файла посимвольно строку, встречая символ &quot;;&quot; то что до него помещается...

Как реализовать функцию igamc(a,x) в C++?
Очень мало информации нашла про эту функцию. Это неполная гамма-функция, правильно понимаю?...

Как реализовать функцию
Решить функцию помогите пожалуйста ) :cry:

Как реализовать функцию в форме?
Хочу к примеру эту функцию добавить в форму, куда ее конкретно добавлять? double func(double x)...


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

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

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