С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 31.10.2021
Сообщений: 12
1

Ошибка "аргумент типа bool несовместим с параметром int*"

10.02.2022, 15:50. Показов 926. Ответов 5

Author24 — интернет-сервис помощи студентам
У меня есть код, где ты выбираешь тип массива, потом то что ты хочешь с ним сделать(это вырезка из кода, поэтому там сначала идет if и есть свичкейс).Мы делаем статический массив, и хотим чтобы программа вывела те индексы массива, значение которых совершенные. Я это сделал, но у меня выбивает ошибки аргумент типа bool несовместим с параметром int*. И perfectnum индефикатор не найден. Помогите плиз решить проблему

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
35
36
37
38
39
40
41
main(){
//ляляяля много вяского
if (massiv == 1) {
const int Len = 1000; 
int i, elements;
cout « "Введите длину массива" « endl;
cout « "---------------------------" « endl;
int array_s[Len]; //создаем массив с большим размером
cin » elements;
cout « "---------------------------" « endl;
cout « "Введите числа" « endl;
cout « "---------------------------" « endl;
if (elements > 0 && elements < Len) {   
for (i = 0; i < elements; i++) {            
cin » array_s[i];
}}
int x;
cin » x;
switch (x) {
case 1:
for (i = 0; i < elements; i++) {
int *num = &array_s[i];
if (perfectnum(true)) {               //НЕ РАБОТАЕТ ТУТ
cout « "Значение массива с идексом" « i « "совершенный";
}
else {
continue
}}
break;
}} 
//main() закрылся
 
bool perfectnum(int *num) { 
int sum = 0; 
for (int j = 1; j < *num; j++) {
if (*num % j == 0) {
sum += j;
}
if (sum == *num) return true; 
return false;
}}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2022, 15:50
Ответы с готовыми решениями:

Ошибка "Аргумент типа int несовместим с параметром типа int". Буду признателен за подсказку!
Прошу не судить строго, только начинаю программировать, нужна помощь. int Zapol_Funkcii(int...

Аргумент типа "int **" несовместим с параметром типа " *int(*)[1200] "
аргумент типа &quot;int **&quot; несовместим с параметром типа &quot; *int(*) &quot; в 48 строке #include...

E0167 аргумент типа "int" несовместим с параметром типа "int (*)[3]"
Дана матрицы А(3,3). В матрице поменять местами элементы, стоящие на главной и побочной диагонали....

Ошибка в коде: аргумент типа "const char *" несовместим с параметром
Выдает ошибку: аргумент типа &quot;const char *&quot; несовместим с параметром типа &quot;char *&quot; Вот код,...

Аргумент типа "int **" несовместим с параметром типа "int (*)[26]"
Здравствуйте. Я не могу передать динамический двумерный массив в функцию. Как это можно сделать? ...

5
2337 / 1824 / 753
Регистрация: 27.07.2012
Сообщений: 5,398
10.02.2022, 15:57 2
Ну собственно, всё сказано самим компилятором. У вас perfectnum принимает указатель, а вы в него передаёте true зачем-то.

Добавлено через 1 минуту
Подозреваю, что должно было быть:
C++
1
2
int *num = &array_s[i];
if (perfectnum(num)) {               // <-- ТУТ
0
Модератор
Эксперт CЭксперт С++
5201 / 2918 / 1509
Регистрация: 14.12.2018
Сообщений: 5,260
Записей в блоге: 1
10.02.2022, 16:01 3
Цитата Сообщение от AzaZloqi Посмотреть сообщение
«
Цитата Сообщение от AzaZloqi Посмотреть сообщение
»
Это что ?
Вот правильно: << и >>
0
0 / 0 / 0
Регистрация: 31.10.2021
Сообщений: 12
10.02.2022, 16:47  [ТС] 4
полагаю что это особенность сайта такая

Добавлено через 3 минуты
а как тогда прописать что "если эта функция возвращает тру, то выводим номер индекса"?
да и вставив туда num, один фиг функцию не видит
0
2337 / 1824 / 753
Регистрация: 27.07.2012
Сообщений: 5,398
10.02.2022, 16:52 5
Цитата Сообщение от AzaZloqi Посмотреть сообщение
да и вставив туда num, один фиг функцию не видит
Функция должна быть объявлена до места её вызова. Либо перенесите всю её до main(), либо добавьте до места вызова bool perfectnum(int *);.
Цитата Сообщение от AzaZloqi Посмотреть сообщение
а как тогда прописать что "если эта функция возвращает тру, то выводим номер индекса"?
Это у вас уже и так прописано в if (perfectnum(num)).
0
0 / 0 / 0
Регистрация: 31.10.2021
Сообщений: 12
10.02.2022, 17:34  [ТС] 6
Так, поехали дальше)
Оно начало работать, но... при вводе любых чисел прога выводит единицу, улетает в самое начало main() и продолжает туда что-то писать(прога выводит то что в меню выбора массивов нет такого значения)
0
10.02.2022, 17:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2022, 17:34
Помогаю со студенческими работами здесь

Аргумент типа char * несовместим с параметром типа lpcwstr
Как решить ошибку компиляции, на втором компьютере студия ошибок не вызывает, что странно. ...

Ошибка: аргумент типа "const char *" несовместим с параметром типа "LPCWSTR"
Здравствуйте я хочу запустить музыку в консоли с++, но мне выдает ошибку: аргумент типа &quot;const char...

Аргумент типа несовместим с параметром типа
Писала программу в которой надо было найти минимальный корень второй производной. Она отлично...

Ошибка: "аргумент типа const char несовместим с параметром типа char*"
Существует много файловый проект на с++ 1)feed.cpp 2)feed.h 3)Source.cpp В файле feed.h...

Ошибка аргумент типа "char" несовместим с параметром типа "LPCSTR"
char result; result=printf(&quot;%d %d&quot;, &quot;test.php?id=&quot;,id); HINTERNET hHttpRequest = HttpOpenRequest(...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru