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

Найдите ошибку - C++

Восстановить пароль Регистрация
 
Noka94
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 25
15.10.2013, 20:41     Найдите ошибку #1
Даны натуральные числа эм и эн. Найти такие натуральные пэ и ку, не имеющие общих делителей, что пэ/ку=эм/эн
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream.h>
int main ( )
{int m,n,q,p,c;
bool g=true;
cout<<"m=";
cin>>m;
cout<<"n= ";
cin>>n;  
do{
   m = m % n;
  if (m == 0)
  {c=n;
break;}
n = n % m;
if (n == 0)
{c=m;
break;}
 }while (true);
cout<<"nod(m,n)= "<<c<<endl;
  p=m/c;
 q=n/c;
 cout<<"p="<<p<<endl;
 cout<<"q="<<q<<endl;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2013, 20:41     Найдите ошибку
Посмотрите здесь:

найдите ошибку C++
C++ найдите ошибку
C++ Найдите ошибку
C++ найдите ошибку
C++ найдите ошибку
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
15.10.2013, 20:44     Найдите ошибку #2
Noka94, а что программа говорит при компиляции?
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
15.10.2013, 20:52     Найдите ошибку #3
using namespace std;
Noka94
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 25
15.10.2013, 20:53  [ТС]     Найдите ошибку #4
Вот например
Миниатюры
Найдите ошибку  
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
15.10.2013, 21:05     Найдите ошибку #5
Noka94, я может чего то не понимаю, но в чем заключается ваша проблема? Программа некорректно работает? Или затруднения с алгоритмом?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
15.10.2013, 21:12     Найдите ошибку #6
Я сломал себе глаза.
В тридцать третьей строке добавил return 0;
И присоединяюсь к вопросу.
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
26
27
28
29
30
31
32
33
34
#include<iostream.h>
int main ()
{
int m, n, q, p, c;
bool g = true;
 
cout << "m=";
cin >> m;
cout << "n= ";
cin >> n;  
 
do
  {
  m = m % n;
  if( m == 0 )
    {
    c = n;
    break;
    }
  n = n % m;
  if( n == 0 )
    {
    c = m;
    break;
    }
  }while( true );
 
cout << "nod(m,n) = " << c << endl;
p = m/c;
q = n/c;
cout << "p=" << p << endl;
cout << "q=" << q << endl;
return 0;
}
Noka94
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 25
15.10.2013, 21:34  [ТС]     Найдите ошибку #7
Он не корректно работает, не выводит q и p

Добавлено через 1 минуту
при m=20 n=4 должно получиться нод=4, p=20/4=5 q=4/4=1
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
15.10.2013, 21:35     Найдите ошибку #8
Цитата Сообщение от Noka94 Посмотреть сообщение
Он не корректно работает, не выводит q и p
Так вон же, на вашем же скрине, они выведены. Алгоритм хреновый? Так и скажите.
Noka94
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 25
15.10.2013, 21:51  [ТС]     Найдите ошибку #9
просто я не знаю в чем ошибка, до нод идет все правильно, а потом не считает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 00:44     Найдите ошибку
Еще ссылки по теме:

C++ Найдите ошибку!
Найдите ошибку C++

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

Или воспользуйтесь поиском по форуму:
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
16.10.2013, 00:44     Найдите ошибку #10
Держи! ты переменной m присвоил 0
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
#include<iostream>
using namespace std;
int main ( )
{int m1,m,n,p,c;
bool q=true;
cout<<"m=";
cin>>m;
cout<<"n= ";
cin>>n;
do{
   m1 = m % n;
  if (m1 == 0)
  {c=n;
break;}
n = n % m;
if (n == 0)
{c=m;
break;}
 }while (true);
cout<<"nod(m,n)= "<<c<<endl;
  p=m/c;
 q=n/c;
 cout<<"p="<<p<<endl;
 cout<<"q="<<q<<endl;}
Yandex
Объявления
16.10.2013, 00:44     Найдите ошибку
Ответ Создать тему
Опции темы

Текущее время: 17:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru