Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2010, 17:36   #1
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию Задача С++ функции

Помогите пожалуйста...
даны два числа n, k . Вычислить C = n! / (k!(n-k)!)
пишу так:

Код:
#include <iostream>
using namespace std;

	int main() { 
	int n, k; 
	cin >>n>>k;
	int a=1; 
	for (int i=1; i<=n; i++) {
	a = a*i;} 

	int c=1;  
	for (int j=1; j<=k; j++) {
	c = c*j;}  

	int d=1;  
	for (int t=1; t<=n-k; t++){
	d=d*t; }   

	cout <<a/(c*d);

return 0;
}
теперь нужно написать тоже самое но с использованием функций...
I'm a rebel. [I think positively].

Последний раз редактировалось Stilet; 10.10.2010 в 18:07.
Guzal вне форума Ответить с цитированием
Старый 10.10.2010, 17:40   #2
q_proger
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 48
По умолчанию

Код:
int f(int n)
{
    if (n <= 1) return 1;
    return n * f(n - 1);
}

int main()
{
    int n = 5, k = 3;
    cout << f(n) / (f(k) * f(n - k));
    return 0;
}
q_proger вне форума Ответить с цитированием
Старый 10.10.2010, 17:52   #3
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию

Спасиибо! плз, можешь проверить другую задачу, я решила..но вот сомневаюсь
I'm a rebel. [I think positively].
Guzal вне форума Ответить с цитированием
Старый 10.10.2010, 17:53   #4
q_proger
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 48
По умолчанию

Ты ее скинь сюда, посмотрим..
q_proger вне форума Ответить с цитированием
Старый 10.10.2010, 18:01   #5
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию

даны 2 числа, x , d, например 123 и 2, нужно показать сколько раз число 2 встречается в 123 , в этом случае конеш 1 раз..вот..пишу так

Код:
#include <iostream>
using namespace std;

	int main() {

	int x, d,sum=0;
	cin >>x>>d;
	while (x!=0) {
	if (x%10==d)
	sum++; x=x/10;
}
	cout << sum;
return 0;
}


теперь с использованием функции :

#include <iostream>
using namespace std;

	int digitInNumber (int x, int d) {
	int sum = 0;
	while (x!=0) {
		if (x%10 == d)
		sum ++;
	   x=x/10;
	   }
	   return sum;
	   }

	int main () {
	int x, d;
	cin >>x>>d;
		cout << digitInNumber (x, d);
		return 0;
		}
I'm a rebel. [I think positively].

Последний раз редактировалось Stilet; 10.10.2010 в 18:08.
Guzal вне форума Ответить с цитированием
Старый 10.10.2010, 18:05   #6
q_proger
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 48
По умолчанию

Все нормально, я бы так же делал.
q_proger вне форума Ответить с цитированием
Старый 10.10.2010, 18:18   #7
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию

спасиб,
еще последний вопрос,
найти все четные числа от а до б,
вроде находит, но повторяется последнее число почему то при выводе.

#include <iostream>
using namespace std;

int evenNumbers (int a, int b) {

for (int i=a; i<=b; i++) {
if (i%2==0) cout <<i;
}

return a, b;
}

int main () {
int a, b;
cin >>a>>b;
cout <<evenNumbers (a, b);
return 0;
}
I'm a rebel. [I think positively].
Guzal вне форума Ответить с цитированием
Старый 10.10.2010, 18:24   #8
q_proger
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 48
По умолчанию

evenNumbers сам все пишет, не надо ему ничего возвращать, тем более это неправильно - return a, b; Компилятор это поймет не так, как ты думаешь

Код:
void evenNumbers (int a, int b)
{
    for (int i=a; i<=b; i++) {
        if (i%2==0) cout <<i;
    }
}

int main()
{
    int a, b;
    cin >> a >> b;
    evenNumbers(a, b);
    return 0;
}
q_proger вне форума Ответить с цитированием
Старый 10.10.2010, 18:30   #9
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию

хехх. даа.. ясно)
хотела как проще, а получилось как всегда)
спасибо!
I'm a rebel. [I think positively].
Guzal вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача по функции С++ lesik_ Помощь студентам 3 23.09.2010 15:40
Задача на C++ (Функции)!! Myau Thai Помощь студентам 2 25.05.2009 17:48
Задача на процедуры и функции aiktz Помощь студентам 3 12.04.2009 20:17
задача на функции и процедуры katya36 Помощь студентам 2 17.02.2009 15:24