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

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

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

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

31.03.2010, 14:51. Просмотров 789. Ответов 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++ написать рекурсивную функцию, которая взводит число в степень путем многократного умножения числа на самое себя.
Написать функцию, которая принимает два параметра типа unsigned long long и выводит их на экран C++
C++ Создайте логическую функцию, которая принимает в качестве аргумента число и проверяет, является ли оно автоморфным
Напишите функцию, которая принимает 3 аргумента целого типа(часы, минуты и секунды) и возвращает количество секунд C++
C++ Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно простым.
Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно простым C++
C++ Создать функцию, которая принимает в качестве аргумента ссылку на string, и преобразует все буквы в верхний регистр
Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно степенью двойки C++
C++ Напишите рекурсивную функцию, которая возводит число в степень путем многократного умножения числа на самое себя
C++ Создайте функцию, которая принимает в качестве аргумента целое число и возвращает число Люка с таким номером

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,890
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
Yandex
Объявления
31.03.2010, 22:07     Написать рекурсивную функцию которая принимает два аргумента и перемножает их между собой, но без оператора умножения
Ответ Создать тему
Опции темы

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