Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Morozilka
2 / 2 / 1
Регистрация: 17.03.2010
Сообщений: 21
#1

Написать рекурсивную функцию которая принимает два аргумента и перемножает их между собой, но без оператора умножения - C++

31.03.2010, 14:51. Просмотров 802. Ответов 4
Метки нет (Все метки)

Добрый день, помогите пожалуйста с написанием рекурсивной функции или хотябы с обычным цикличиским оператаром в мейне, не могу просто понять как делать задачу.
Вообщем задание: Написать рекурсивную функцию которая принимает два аргумента и перемножает их между собой, но без оператора умножения.(т.е просто плбюсовать 1ое число столько раз сколько будит стоять во 2ом аргументе, например 5*3=5+5+5).
Я понимаю как это сделать на бумаге, а как в коде рзложить не знаю...
помогите пожалуйста хотябы написать код без рекурсии, там думаю уже сам пойму. Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2010, 14:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать рекурсивную функцию которая принимает два аргумента и перемножает их между собой, но без оператора умножения (C++):

Написать функцию, которая принимает два числа и возвращает - C++
Режить все !!!Буду благодарин!!Заранее спасибо!!

Написать функцию, которая принимает два числа и возвращает - C++
Решите пожалуйста!!!!!!!!!!! 4 ) число, которое получается, если к первому числу приписать справа второе (например, ...

написать рекурсивную функцию, которая взводит число в степень путем многократного умножения числа на самое себя. - C++
Помогите написать программу , которая запрашивает два числа (1-ое число, 2 -показатель его степени). И надо написать рекурсивную функцию,...

Написать функцию, которая принимает два параметра типа unsigned long long и выводит их на экран - C++
Я самое наглое , ленивое и бессовестное чудовище)) но тем не менее Напишите функцию, которая принимает два параметра типа unsigned...

Создайте логическую функцию, которая принимает в качестве аргумента число и проверяет, является ли оно автоморфным - C++
5. Число называется автоморфным, если оно равно последним цифрам своего квадрата. Например, автоморфными числами являются 5 и 25, поскольку...

Напишите функцию, которая принимает 3 аргумента целого типа(часы, минуты и секунды) и возвращает количество секунд - C++
5. Напишите функцию, которая принимает 3 аргумента целого типа(часы, минуты и секунды) и возвращает количество секунд, прошедших со...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
31.03.2010, 15:38 #2
Комментарии там вроде бы не требовались, но если будет непонятно, объясню

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
 // с помощью рекурсии.
#include <iostream>
using namespace std;
 
int rezult (int, int);
 
int main()
{
    setlocale( LC_ALL,"Russian" );
    int firstNum, secondNum; 
    
    cout << "Введите два числа: ";
    cin >> firstNum >> secondNum;
    cout << "Результат: " << rezult(firstNum, secondNum) << endl;
    
    system ("pause");
    return 0;
}
 
int rezult (int first, int second)
{
    if ((first==0) || (second==0)) return 0;
    if (second==1) return first;
    else return rezult(first, second-1)+first;
}



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 // с помощью цикла.
#include <iostream>
using namespace std;
 
int main()
{
    setlocale( LC_ALL,"Russian" );
    int firstNum, secondNum; 
    int rezult=0; 
 
    cout << "Введите два числа: ";
    cin >> firstNum >> secondNum;
 
    for (secondNum; secondNum>0; secondNum--)
    rezult+=firstNum;
 
    cout << "Результат: " << rezult << endl;
    
    system ("pause");
    return 0;
}
или
C++
1
2
3
4
5
while (secondNum!=0)
    {
        secondNum--;
        rezult+=firstNum;
    }
Morozilka
2 / 2 / 1
Регистрация: 17.03.2010
Сообщений: 21
31.03.2010, 21:51  [ТС] #3
Большое спасибо!!!)

rezult+=firstNum;

вот вопрос ток по этому возник что это нам даёт "+=" ?
понял что результат + 1ое число, но почему если стереть "=" и оставить просто "rezult+firstNum;" код уже не работает, каков принцып работы +=?
Psixodelik
40 / 39 / 2
Регистрация: 27.11.2009
Сообщений: 100
31.03.2010, 22:05 #4
Цитата Сообщение от Morozilka Посмотреть сообщение
Большое спасибо!!!)

rezult+=firstNum;

вот вопрос ток по этому возник что это нам даёт "+=" ?
понял что результат + 1ое число, но почему если стереть "=" и оставить просто "rezult+firstNum;" код уже не работает, каков принцып работы +=?
rezult+=firstNum это будет result = result + firstNum

если ты уберёшь =, то result + firstNum не будет ничему присваиваться
Morozilka
2 / 2 / 1
Регистрация: 17.03.2010
Сообщений: 21
31.03.2010, 22:07  [ТС] #5
Psixodelik спасибо!) но я уже получил ответ от neske
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2010, 22:07
Привет! Вот еще темы с ответами:

Создать функцию, которая принимает в качестве аргумента ссылку на string, и преобразует все буквы в верхний регистр - C++
Задание такое: нужно создать функцию, которая принимает в качестве аргумента ссылку на string, и преобразует все буквы в верхний регистр,...

Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно простым. - C++
Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно простым. Используя данную...

Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно простым - C++
3. Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно простым. Используя данную...

Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно степенью двойки - C++
4. Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно степенью двойки. Используя...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
31.03.2010, 22:07
Ответ Создать тему
Опции темы

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