Помогите найти ошибку в программе C++

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Помогите найти ошибку в программе C++

jogik » 03 дек 2008, 20:45

Помогите написать программу в Delphi (процедуры)!?
Описать процедуру SumDigit(N,S),находящую сумму цифр S целого числа N (N-входной,S-выходной параметр).Используя это процедуру,найти суммы цифр пяти данных чисел.

Re: Помогите найти ошибку в программе C++

rrrFer » 02 дек 2008, 10:36


Intruder04

Код: Выделить всё

#include <iostream>
int koef (int m, int n){
	return !m&&n>=0||m==n&&n>=0?1:m>n&&n>0?0:koef(m-1,n-1)+koef(m,n-1);
}
void main(){ 
	int n;std::cin>>n;
	for(int i=0;i<n;i++)
		std::cout<<koef(i+1,n)<<" ";
	std::cin.get(),std::cin.get();
}
а это следующая:

Код: Выделить всё

#include <iostream>
int koef (char *s,int n){
	return s[n]?koef(s,n+1):n;
}
void main(){ 
	char *s=new char[100]; std::cin>>s;
	std::cout<<koef(s,0);
	std::cin.get(),std::cin.get();
}

Re: Помогите найти ошибку в программе C++

Intruder04 » 02 дек 2008, 10:18

Хорошо, вот исправленная версия.
Все равно при вводе числа программа ничего не делает и виснет. ХЕЛП!

Код: Выделить всё

#include <conio.h>
#include <iostream.h>
#include <math.h>
int koef (int m, int n)
{
  if((m==0)&&(n>0))
     return 1;
  if((m>n)&&(n>=0))
     return 0;
  else

     return koef(m-1,n-1)+koef(m,n-1);
}

  void main()
{  int n,i;
   cout<<"Введите степень в которую нужно возвести сумму\n";
   cin>>n;
   for(i=1;i<n;i++)
   cout<<koef(i,n)<<"             ";
   getch();
}

Re: Помогите найти ошибку в программе C++

Albor » 02 дек 2008, 07:34

Intruder04 писал(а):

Код: Выделить всё

  if(([B]m=0[/B])&&(n>=0))
     return 1;
 

Где ошибка?
Направьте меня пожалуйста(

Первая ошибка сразу бросившаяся в глаза. Смотри выделенный фрагмент, правильно m==0

Помогите найти ошибку в программе C++

Intruder04 » 01 дек 2008, 21:42

Скрин задания:
Изображение

Мой код:

Код: Выделить всё

#include <conio.h>
#include <iostream.h>
#include <math.h>
int koef (int m, int n)
{
  if((m=0)&&(n>=0))
     return 1;
  if((m>n)&&(n>0))
     return 0;
  else
     return koef(m-1,n-1)+koef(m,n-1);
}

  void main()
{  int n,i;
   cout<<"Введите степень в которую нужно возвести сумму \n";
   cin>>n;
   for(i=1;i<n;i++)
   cout<<koef(i,n)<<"   ";
   getch();
}
Где ошибка?
Направьте меня пожалуйста(

Вернуться к началу