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

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

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

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

15.10.2013, 20:41. Просмотров 291. Ответов 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++):

Найдите ошибку - C++
#include &lt;iostream.h&gt; class cat { public: int itsAge; int itsWeight; }; int main () {

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

Найдите ошибку! - C++
Компилятор пишет, что где-то 1 ошибка. #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;iomanip&gt; using namespace std; int main() ...

Найдите ошибку - C++
#include &lt;iostream.h&gt; int sort(int x, int n) {int i,j,tmp; for (i=1;i&lt;n;i++) for (j=n-1;j&gt;=i;j--) if (x&gt;x) {tmp=x; ...

Найдите ошибку - 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.h&gt; int main() { enum Days { Sunday, Monday, Tuesday, Wednesday,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
15.10.2013, 20:44 #2
Noka94, а что программа говорит при компиляции?
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,997
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
Супер-модератор
Эксперт С++
5609 / 2643 / 244
Регистрация: 01.11.2011
Сообщений: 6,502
Завершенные тесты: 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
Супер-модератор
Эксперт С++
5609 / 2643 / 244
Регистрация: 01.11.2011
Сообщений: 6,502
Завершенные тесты: 1
15.10.2013, 21:35 #8
Цитата Сообщение от Noka94 Посмотреть сообщение
Он не корректно работает, не выводит q и p
Так вон же, на вашем же скрине, они выведены. Алгоритм хреновый? Так и скажите.
Noka94
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 25
15.10.2013, 21:51  [ТС] #9
просто я не знаю в чем ошибка, до нод идет все правильно, а потом не считает
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;}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 00:44
Привет! Вот еще темы с ответами:

Найдите ошибку - C++
Вот пример Вот решение #include&lt;iostream.h&gt; #include&lt;math.h&gt; void main ()

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

найдите ошибку - C++
программа еще не дописана но компилятор уже ругается.....CODE BLOCKS #include &lt;windows.h&gt; #include &lt;iostream.h&gt; #include &lt;stdio.h&gt;...

Найдите ошибку - C++
Помогите найти ошибку в программе /*prog222.pas Программа решает следующую задачу: Даны вещественные положительные a, b, c, d, e,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.10.2013, 00:44
Ответ Создать тему
Опции темы

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