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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 55, средняя оценка - 4.65
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
#1

invalid operands of types 'double' and 'int' to binary 'operator%' - C++

18.04.2012, 15:41. Просмотров 8515. Ответов 8
Метки нет (Все метки)

В строке где If выдает вот эту ошибку 2 раза:
invalid operands of types 'double' and 'int' to binary 'operator%'



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int i, S=0;
const int n=5;
double x[n], k;
cout<<"Input "<<n<<"number:\n";
for (i=0; i<n; i++)
cin>>x[i];
k=0;
if ((x[i]% 5)==0&&(x[i]% 7)!=0)
{
for (i=0; i<n; i++)
k++;
S+=x[i];
}
cout<<"Кол-во искомых членов: "<<k<<endl;
cout<<"Их сумма: "<<S<<endl;
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2012, 15:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос invalid operands of types 'double' and 'int' to binary 'operator%' (C++):

invalid operands of types ‘double*’ and ‘double’ to binary ‘operator*’ - C++
#include &quot;mpi.h&quot; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; #define count 120 int main(int argc,char *argv) { ...

Объясните, как исправить ошибку invalid operands of types 'double' and 'const char [2]' to binary 'operator - - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main () { double...

error: invalid operands of types 'const int*' and 'const int*' to binary 'operator+' - C++
Что означает ошибка в 8 строчке error: invalid operands of types 'const int*' and 'const int*' to binary 'operator+'? ...

Ошибка в написании шаблона: invalid operands of types ‘int’ and ‘<unresolved overloaded function type>’ - C++
что-то я не понимаю в чём ошибка template&lt;typename T&gt; class vecs { public: vecs() { _data = 0; _size = 0;

Error: invalid types 'double [10][10][double]' for array subscript - C++
В 20 21 и 23 строках выдает ошибку error: invalid types 'double ' for array subscript #include &lt;iostream&gt; #include &lt;conio.h&gt; #include...

|31|error: invalid operands to binary ^ (have 'float' and - C (СИ)
#include &lt;stdio.h&gt; #include &lt;math.h&gt; int count(float xA, float xB, int Step) { int yCount; yCount=0; if((xA &lt;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 109
Завершенные тесты: 1
18.04.2012, 15:54 #2
Операция %деления применима только к целым числам(int), а у тебя массив типа double.
Получается, ты делишь дробное на целое и хочешь получить остаток... Чтобы это работало, необходимо объявлять
C++
1
int x[n]
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
18.04.2012, 16:02  [ТС] #3
Исправил на Int.
Ошибка пропала но программа неправильно работает.
суть в том что она должна из n чисел выбрать те, которые делятся на 5 и не делятся 7.
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
18.04.2012, 16:09 #4
А как оказалось так, что оператор проверяющий условие находится над циклом а не в нем. Как вообще такое могло скомпилироваться.
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
18.04.2012, 16:13  [ТС] #5
Цитата Сообщение от Toshkarik Посмотреть сообщение
А как оказалось так, что оператор проверяющий условие находится над циклом а не в нем. Как вообще такое могло скомпилироваться.
Нас так учили.
DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 109
Завершенные тесты: 1
18.04.2012, 16:14 #6
Так что ли?
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
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int i, S=0;
const int n=5;
int x[n]; 
int k=0;
cout<<"Input "<<n<<"number:\n";
for (i=0; i<n; i++)
cin>>x[i];
 
 
for(i=0;i<n;i++)
{
    if ((x[i]% 5)==0 && (x[i]% 7)!=0)
    {
        k++;
        S+=x[i];
    }
}
 
cout<<"Кол-во искомых членов: "<<k<<endl;
cout<<"Их сумма: "<<S<<endl;
return 0;
}
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
18.04.2012, 16:17  [ТС] #7
Цитата Сообщение от DPS Посмотреть сообщение
Так что ли?
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
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int i, S=0;
const int n=5;
int x[n]; 
int k=0;
cout<<"Input "<<n<<"number:\n";
for (i=0; i<n; i++)
cin>>x[i];
 
 
for(i=0;i<n;i++)
{
    if ((x[i]% 5)==0 && (x[i]% 7)!=0)
    {
        k++;
        S+=x[i];
    }
}
 
cout<<"Кол-во искомых членов: "<<k<<endl;
cout<<"Их сумма: "<<S<<endl;
return 0;
}
Спасибо огромное. Всё получилось.
Не силен я в этом.. не силен.
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
18.04.2012, 16:27 #8
Цитата Сообщение от Bukharov11 Посмотреть сообщение
Нас так учили.
В том то и дело, что не могли Вас так учить За Вас подправили уже конечно, но надеюсь Вы поняли ошибку.
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
18.04.2012, 16:30  [ТС] #9
Да понял) еще раз спасибо большое)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2012, 16:30
Привет! Вот еще темы с ответами:

Значения ошибок при компиляции: Invalid operands to binary - C (СИ)
И был день и был экзамен, но вопросов данных типов я вообще не ожидал((( например: error: invalid operands to binary * (have 'long...

При возведении в степень получаю ошибку invalid operands to binary ^ - C (СИ)
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; #include &lt;limits.h&gt; #include &lt;float.h&gt; int main() { unsigned int...

Ошибка: bad operand types for binary operator '>' - Java SE
Найти минимальное из двух чисел пишут вот так: import java.io.BufferedReader; import java.io.InputStreamReader; public...

Bad operand types for binary operator & - Java SE
Что сделать, чтобы выражение типа if ((a&gt;1) &amp; (n=2)) было без ошибки?


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

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

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