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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 55, средняя оценка - 4.65
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
18.04.2012, 15:41     invalid operands of types 'double' and 'int' to binary 'operator%' #1
В строке где 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DPS
 Аватар для DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 107
Завершенные тесты: 1
18.04.2012, 15:54     invalid operands of types 'double' and 'int' to binary 'operator%' #2
Операция %деления применима только к целым числам(int), а у тебя массив типа double.
Получается, ты делишь дробное на целое и хочешь получить остаток... Чтобы это работало, необходимо объявлять
C++
1
int x[n]
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
18.04.2012, 16:02  [ТС]     invalid operands of types 'double' and 'int' to binary 'operator%' #3
Исправил на Int.
Ошибка пропала но программа неправильно работает.
суть в том что она должна из n чисел выбрать те, которые делятся на 5 и не делятся 7.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
18.04.2012, 16:09     invalid operands of types 'double' and 'int' to binary 'operator%' #4
А как оказалось так, что оператор проверяющий условие находится над циклом а не в нем. Как вообще такое могло скомпилироваться.
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
18.04.2012, 16:13  [ТС]     invalid operands of types 'double' and 'int' to binary 'operator%' #5
Цитата Сообщение от Toshkarik Посмотреть сообщение
А как оказалось так, что оператор проверяющий условие находится над циклом а не в нем. Как вообще такое могло скомпилироваться.
Нас так учили.
DPS
 Аватар для DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 107
Завершенные тесты: 1
18.04.2012, 16:14     invalid operands of types 'double' and 'int' to binary 'operator%' #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  [ТС]     invalid operands of types 'double' and 'int' to binary 'operator%' #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
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
18.04.2012, 16:27     invalid operands of types 'double' and 'int' to binary 'operator%' #8
Цитата Сообщение от Bukharov11 Посмотреть сообщение
Нас так учили.
В том то и дело, что не могли Вас так учить За Вас подправили уже конечно, но надеюсь Вы поняли ошибку.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2012, 16:30     invalid operands of types 'double' and 'int' to binary 'operator%'
Еще ссылки по теме:

Бинарный поиск, ошибка: "Invalid operands to binary expression" C++
C++ Ошибка error: invalid types 'int[int]' for array subscript
C++ Invalid types 'int[int]' for array subscript

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

Или воспользуйтесь поиском по форуму:
Bukharov11
0 / 0 / 0
Регистрация: 18.04.2012
Сообщений: 46
18.04.2012, 16:30  [ТС]     invalid operands of types 'double' and 'int' to binary 'operator%' #9
Да понял) еще раз спасибо большое)
Yandex
Объявления
18.04.2012, 16:30     invalid operands of types 'double' and 'int' to binary 'operator%'
Ответ Создать тему
Опции темы

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