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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2010, 02:00   #11
tipilat
Пользователь
 
Аватар для tipilat
 
Регистрация: 02.07.2009
Сообщений: 22
По умолчанию

вот что получилось...
Ну вот не хочет он искать НОК для типа float и double!!!
Код:
#include "stdafx.h"
#include "nok.h"
#include "iostream"
#include "windows.h"
using namespace std;

void nok(int a,int b)
{for(int i=2; i<9999999;i++)
{
 
        if(a%i==0&&b%i==0)
        {
                cout<<"Наименьшее общее кратное "<<i<<endl;
                break;
        }
		else 
		{
			cout<<"наименьшего общего кратного нет!"<<endl;
		 break;
		}
}

};
void nok(long a,long b)
{
	for(int i=2; i<9999999; i++)
{
 
        if(a%i==0&&b%i==0)
        {
                cout<<"Наименьшее общее кратное "<<i<<endl;
                break;
        }
		else 
			{
			cout<<"наименьшего общего кратного нет!"<<endl;
		 break;
		}
}

};
void nok(float a,float b)
{
	for(int i=0; i<9999999;i++)
	{	 float l = 0.2;
		l+=0.1;	
			 if( a/l==int(a/l) && b/l==int(b/l) )
			{
					cout<<"Наименьшее общее кратное "<<i<<endl;
					break;
			}
			 else 
			{
			cout<<"наименьшего общего кратного нет!"<<endl;
		 break;
		
			 }
	}
}; 
void nok(double a,double b)
{
for(int i=0; i<9999999;i++)
	{ double k = 0.1; 
		 k+=0.1;
			if( a/k==int(a/k) && b/k==int(b/k) )
			{
					cout<<"Наименьшее общее кратное "<<i<<endl;
					break;
			}
			else 
			{
			cout<<"наименьшего общего кратного нет!"<<endl;
		 break;
			
			}
	}
};
int _tmain(int argc, _TCHAR* argv[])
{setlocale(LC_ALL, "Russian");
int funk[4]= {1,2,3,4};
int nomer,n;
int a,b;
long c,d;
float e,f;
double g,h;
	  cout<<"1.Два параметра типа int"<<endl;
	  cout<<"2.Два параметра типа long"<<endl; 
	  cout<<"3.Два параметра типа float"<<endl; 
	  cout<<"4.Два параметра типа double"<<endl;
	  cout<<"сколько раз вы хотите проверить два числа ?"<<endl;
	  cin>>n;
	  for(int i = 0;i<n;i++)
	  {cout<<"Выберете номер необходимого пункта(1,2,3 или 4):"<<endl;
	  cin>>nomer;
				if(funk[0]==nomer)
				{cout<<"введите последовательно два числа размерности int"<<endl;
				  cin>>a>>b;
				  nok(a,b);
				}
		  else 
				if(funk[1]==nomer)
				{cout<<"введите последовательно два числа размерности long"<<endl;
				  cin>>c>>d;
				  nok(c,d);
				}
		  else 
				if(funk[2]==nomer)
				{cout<<"введите последовательно два числа размерности float"<<endl;
				  cin>>e>>f;
				  nok(e,f);
				}
		  else 
				if(funk[3]==nomer)
				{cout<<"введите последовательно два числа размерности double"<<endl;
				  cin>>g>>h;

				  nok(g,h);
				}
	  }
 system ("PAUSE");
 
	return 0;
}

Последний раз редактировалось tipilat; 30.03.2010 в 02:05.
tipilat вне форума Ответить с цитированием
Старый 30.03.2010, 14:38   #12
[CODER]
Форумчанин
 
Аватар для [CODER]
 
Регистрация: 02.02.2010
Сообщений: 305
По умолчанию

Вот еще одно доказательство того что ночью нужно спать, а делать программы днем
Код:
	  int i = 2;
void nok(int a,int b)
{

		if((a%i)==0 && (b%i) == 0)
		{
				cout<<"Наименьшее общее кратное "<<i<<endl;
				system ("PAUSE");
				exit(-1);
		}
		else  if(i>999){ 
                          cout<<"НОК нет! "<<endl;
				system ("PAUSE");
				exit(-1);
		} else   
		{
			i++;
			nok(a, b);
		}
};
P. S. Чем короче код тем лучше, не нужно его усложнять циклами и тем более не нужными, как этот

cout<<"сколько раз вы хотите проверить два числа ?"<<endl;
cin>>n;
for(int i = 0;i<n;i++)

по крайней мере это делается когда вычислительная часть протестирована и больше не будет изменятся.
Skype: CODERua

Последний раз редактировалось [CODER]; 30.03.2010 в 14:41.
[CODER] вне форума Ответить с цитированием
Старый 30.03.2010, 18:23   #13
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от tipilat Посмотреть сообщение
вот что получилось...
Ну вот не хочет он искать НОК для типа float и double!!!
Дык НОК, он ведь только для целых...
netrino вне форума Ответить с цитированием
Старый 30.03.2010, 19:19   #14
tipilat
Пользователь
 
Аватар для tipilat
 
Регистрация: 02.07.2009
Сообщений: 22
По умолчанию

только для целых???!!! странно, у меня чётко в задании написано... блин, а я голову ломал!!!
спасибо netrino и coder (замечания поводу длинны учту )
Думаю тему можно закрывать..

Последний раз редактировалось tipilat; 30.03.2010 в 19:22.
tipilat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
htaccess выдаёт ошибку memka PHP 11 14.04.2009 01:16
Выдаёт ошибку: acos DOMAIN error,полсе нажатия окей,ещё одну ошибку pow OWERFLAW ERROR prikolist Общие вопросы C/C++ 4 10.04.2009 20:27
Выдаёт ошибку DM_bite Помощь студентам 2 08.08.2008 10:33
Почему ошибку выдаёт? Inbox Общие вопросы Delphi 14 24.06.2007 02:15