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

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

Войти
Регистрация
Восстановить пароль
 
Noka94
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 25
#1

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

15.10.2013, 20:41. Просмотров 285. Ответов 9
Метки нет (Все метки)

Даны натуральные числа эм и эн. Найти такие натуральные пэ и ку, не имеющие общих делителей, что пэ/ку=эм/эн
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++
Вот пример Вот решение #include&lt;iostream.h&gt; #include&lt;math.h&gt; void main ()

найдите ошибку - C++
программа создает обьект Вид спорта (Название, Вид, Мировой рекорд, Год, когда стал олимпийским и т.п.) при компиляции выдает ошибку...

Найдите ошибку... - C++
C++ изучать начал недавно. Вот написал программу и столкнулся с проблемой. #include &lt;iostream.h&gt; class Employee { ...

C++ найдите ошибку - C++
Добрый вечер, форумчане! Помогите решить задачу с C++. Мне необходимо написать программу, которая бы вычисляла две функции по двум...

Найдите ошибку! - C++
Добрый день! Не могу найти ошибку. #include &lt;iostream.h&gt; int main() { enum Days { Sunday, Monday, Tuesday, Wednesday,...

найдите ошибку.. - C++
#include &quot;stdafx.h&quot; inline float diga (float k, b, n, c); {return k*b+n*c;} int _tmain(int argc, _TCHAR* argv) { float k,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
15.10.2013, 20:44     Найдите ошибку #2
Noka94, а что программа говорит при компиляции?
dzrkot
zzzZZZ...
518 / 348 / 53
Регистрация: 11.09.2013
Сообщений: 1,995
15.10.2013, 20:52     Найдите ошибку #3
using namespace std;
Noka94
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 25
15.10.2013, 20:53  [ТС]     Найдите ошибку #4
Вот например
Миниатюры
Найдите ошибку  
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
15.10.2013, 21:05     Найдите ошибку #5
Noka94, я может чего то не понимаю, но в чем заключается ваша проблема? Программа некорректно работает? Или затруднения с алгоритмом?
SatanaXIII
Супер-модератор
Эксперт С++
5591 / 2625 / 239
Регистрация: 01.11.2011
Сообщений: 6,455
Завершенные тесты: 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
Супер-модератор
Эксперт С++
5591 / 2625 / 239
Регистрация: 01.11.2011
Сообщений: 6,455
Завершенные тесты: 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++
Я начал изучать с++ и первая же попавшаяся в книге программа не работает,вот текст #include &quot;stdafx.h&quot; //она указана при создании...

Найдите ошибку - C++
#include &lt;iostream.h&gt; int Add (int x, int y) { cout &lt;&lt; &quot;In add(), received &quot; &lt;&lt; x &lt;&lt; &quot; and &quot; &lt;&lt; y &lt;&lt; &quot;\n&quot;; return (x+y); ...

Найдите ошибку - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; class integer{ protected: int result; public: ...

найдите ошибку - 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     Найдите ошибку
Ответ Создать тему
Опции темы

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