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

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

Войти
Регистрация
Восстановить пароль
 
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 233
#1

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

20.10.2013, 23:21. Просмотров 321. Ответов 9
Метки нет (Все метки)

Разложение числа на сумму двух квадратов
"for(a=o;a<=floor(sqrt(W));x++);
for(b=0;b<=floor(sqrt(w));y++);
if(a*a+b*b==W)
printf("YES");
else printf("NO");"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2013, 23:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу найти ошибку в программе (C++):

Не могу найти ошибку в программе - C++
Прога рабочая, но если вводишь х = 0 и у= 0 то она зацикливается на &quot;Ошибка! Начните заново.&quot; и не работает правильно. Хотя должна....

Не могу найти ошибку в программе - C++
# include &lt;iostream&gt; #include &lt;string&gt; #include &lt;math.h&gt; void main() { string str; char hex={'0', '1', '2', '3', '4',...

не могу найти ошибку в программе - C++
задача Дана символьная строка. Подсчитать количество букв k в последнем ее слове считает только буквы К в первом слове и выдаёт...

Не могу найти ошибку в программе - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cctype&gt; #define is_delim(c) (std::isspace((c)) || std::ispunct((c))) using...

Не могу найти ошибку в программе - C++
Добрый вечер, уважаемые программисты. Прошу у вас помощи с программой. Нужно её сдавать, а она не работает. Буду очень благодарен за любую...

не могу ошибку найти в программе - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;cstdlib&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; double average(int ** matrix, int...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
qwer1234
13 / 13 / 3
Регистрация: 30.10.2012
Сообщений: 463
21.10.2013, 03:49 #2
-Arabella-, напишите весь код пожалуйста
FiLF
53 / 53 / 15
Регистрация: 05.09.2013
Сообщений: 1,327
21.10.2013, 03:54 #3
Цитата Сообщение от -Arabella- Посмотреть сообщение
Разложение числа на сумму двух квадратов
"for(a=o;a<=floor(sqrt(W));x++);
for(b=0;b<=floor(sqrt(w));y++);
if(a*a+b*b==W)
printf("YES");
else printf("NO");"
Алгоритм верный, но что тут написано?
a = o, w и W; Компилировать пробовали?
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 233
21.10.2013, 23:42  [ТС] #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
#include<math.h>
int W,a,b
printf("M=");
scanf("%f",&M);
{
for(a=o;a<=floor(sqrt(W));x++); 
for(b=0;b<=floor(sqrt(w));y++); 
if(a*a+b*b==W) 
printf("YES"); 
else printf("NO");
printf("a=%f",a,"b=%f",b);
}
Я проверяю, на какие числа (сумма двух квадратов) можно разложить число W, но у меня выходит, что разложить нельзя почти всегда и числа не выводятся
mat_for_c
141 / 136 / 29
Регистрация: 26.04.2013
Сообщений: 663
Завершенные тесты: 2
22.10.2013, 01:55 #5
C++
1
2
for(a=o;a<=floor(sqrt(W));a++); 
   for(b=0;b<=floor(sqrt(w));b++);
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 233
23.10.2013, 10:43  [ТС] #6
mat_for_c, А в чем здесь ошибка? Объясните, пожалуйста.
mat_for_c
141 / 136 / 29
Регистрация: 26.04.2013
Сообщений: 663
Завершенные тесты: 2
23.10.2013, 11:29 #7
Цитата Сообщение от -Arabella- Посмотреть сообщение
for(a=o;a<=floor(sqrt(W));x++);
for(b=0;b<=floor(sqrt(w));y++);
это ваш код.

-Arabella-, вы увеличиваете x и y, когда надо a и b
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 233
24.10.2013, 00:15  [ТС] #8
mat_for_c, Забыла обозначить x,y в переменных. Я их увеличиваю, что б закрепить значения для a и b
mat_for_c
141 / 136 / 29
Регистрация: 26.04.2013
Сообщений: 663
Завершенные тесты: 2
24.10.2013, 00:54 #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<stdio.h>
#include<math.h>
 
void main(){
   int a,b;
   float M;
   printf("M=");
   scanf("%f", &M);
   for(a = 0; a <= floor(sqrt(M)); a++) {
      for(b = 0 ; b <= floor(sqrt(M)); b++)
         if(a*a+b*b == M) {
            printf("YES"); 
            break;
         }
         if (b <= floor(sqrt(M)))
            break;
   }
 
   if (a > floor(sqrt(M)))
      printf("NO");
   else 
      printf("a=%d b=%d", a, b);
}
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 233
24.10.2013, 22:28  [ТС] #10
mat_for_c, Спасибо большое за помощь (:
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2013, 22:28
Привет! Вот еще темы с ответами:

Не могу найти ошибку в программе - C++
Даны действительные числа х1, у1, х2, у2, …,х10, у10. Найти периметр десятиугольника, вершины которого имеют соответственно координаты (х1,...

Не могу найти ошибку в программе - C++
Не могу найти ошибку в программе #include &quot;stdafx.h&quot; #include &lt;iostream.h&gt; #include &lt;math.h&gt; #include &lt;fstream.h&gt; #include...

Не могу найти ошибку в программе - C++
Здравствуйте! Не могу понять, как полностью отладить программу. Определенное понимание о характере ошибке есть( ниже прложил ее название),...

Не могу найти ошибку в простейшей программе - C++
#include &lt;iostream&gt; using std::cout; using std::cin; using std::endl; #include &lt;cstdlib&gt; #include &lt;ctime&gt; int sqr( int x...


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

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

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