0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
1

Аргумент типа int не совместим с параметрами типа int*

05.01.2013, 21:01. Показов 27714. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите, ошибка в программе "аргумент типа int не совместим с параметрами типа int*"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define k 5
 
int sum(int *a, int n)
{
 if (n==1) return a[0];
 else return a[n-1]+sum(a[0],n-1);
}
 
void main()
{
 int x[k],summa,i;
 for(i=0;i<k;i++)
     scanf_s("%i",& x[k]);
 for(int i=0;i<k;i++)
  printf("%i ",x[i]);
 summa=sum(x[0],k);
 printf("\n%i",summa);
}
при выполнении появляется
Аргумент типа int не совместим с параметрами типа int*
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2013, 21:01
Ответы с готовыми решениями:

Аргумент типа int не совместим с параметрами типа int**
Помогите, решить проблему с указателями #include &lt;iostream&gt; #include &quot;pch.h&quot; #include...

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

Напишите перегруженную функцию power (), которая принимает два целочисленных параметра типа int и возвращает целочисленное значение типа int
Операции над целыми числами осуществляются быстрее, чем над числами с плавающей точкой. Напишите...

Передать массив элементов(типа int) объекта, в функцию из массивов(типа int)
Представьте такую ситуацию. Есть у вас массив чисел: Mass И вы хотите передать его в функцию. Я...

28
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
05.01.2013, 21:03 2
C++
1
int sum(int *a, int n)
C++
1
sum(x[0],k);
передаете int, а функция принимает int*
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.01.2013, 21:15  [ТС] 3
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
int sum(int *a, int n)
C++
1
sum(x[0],k);
передаете int, а функция принимает int*
убрав в рукурсивной функции *, начинает ругаться на n и 0. вот в этом месте
C++
1
2
if (n==1) return a[0];
 else return a[n-1]+sum(a[0],n-1);
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
05.01.2013, 21:20 4
Alkcatraz какое условие задачи?
0
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
05.01.2013, 21:22 5
Цитата Сообщение от Alkcatraz Посмотреть сообщение
убрав в рукурсивной функции *, начинает ругаться на n и 0.
Вот как раз * не надо было трогать.
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.01.2013, 21:46  [ТС] 6
Цитата Сообщение от David Sylva Посмотреть сообщение
Alkcatraz какое условие задачи?
с помощью рекурсии посчитать сумму элементов массива

Добавлено через 13 минут
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
Вот как раз * не надо было трогать.
а что трогать нужно?
0
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
05.01.2013, 21:51 7
Цитата Сообщение от Alkcatraz Посмотреть сообщение
summa=sum(x[0],k);
C++
1
summa=sum(x,k);
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.01.2013, 22:00  [ТС] 8
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
C++
1
summa=sum(x,k);
исправил, но при выполнении появляется
Аргумент типа int не совместим с параметрами типа int*
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.01.2013, 22:02  [ТС] 9
ошибок в коде нету
0
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
05.01.2013, 22:03 10
здесь тоже исправить (9 строчка):
Цитата Сообщение от Alkcatraz Посмотреть сообщение
else return a[n-1]+sum(a[0],n-1);
C++
1
else return a[n-1]+sum(a,n-1);
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.01.2013, 22:05  [ТС] 11
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
здесь тоже исправить (9 строчка):

C++
1
else return a[n-1]+sum(a,n-1);
я исправил и там и там.....и получилось то что на скрине
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
05.01.2013, 22:06 12
C
1
2
3
4
5
6
int sum(int *a, int n)
{
   if (n == 0) 
      return 0;
   return a[n-1]+sum(a,n-1);
}
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.01.2013, 22:11  [ТС] 13
Цитата Сообщение от Psilon Посмотреть сообщение
C
1
2
3
4
5
6
int sum(int *a, int n)
{
   if (n == 0) 
      return 0;
   return a[n-1]+sum(a,n-1);
}
всё равно таже ошибка при выполнении
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
05.01.2013, 22:12 14
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#define k 5
 
int sum(int *a, int n)
{
   if (n == 0)
      return 0;
   return a[n-1]+sum(a,n-1);
}
 
void main()
{
 int x[k],summa,i;
 for(i=0;i<k;i++)
    scanf("%i",x+i);
 for(i=0;i<k;i++)
    printf("%i ", x[i]);
 summa=sum(x,k);
 printf("\n%i",summa);
}
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.01.2013, 22:19  [ТС] 15
Цитата Сообщение от Psilon Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#define k 5
 
int sum(int *a, int n)
{
   if (n == 0)
      return 0;
   return a[n-1]+sum(a,n-1);
}
 
void main()
{
 int x[k],summa,i;
 for(i=0;i<k;i++)
    scanf("%i",x+i);
 for(i=0;i<k;i++)
    printf("%i ", x[i]);
 summa=sum(x,k);
 printf("\n%i",summa);
}
попрежнему таже ошибка при выполнении
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
05.01.2013, 22:21 16
Цитата Сообщение от Alkcatraz Посмотреть сообщение
попрежнему таже ошибка при выполнении
Какой компилятор? Кстати ваш код выполнен в стиле Си, вам надо в Си или С++?
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.01.2013, 22:24  [ТС] 17
Цитата Сообщение от David Sylva Посмотреть сообщение
Какой компилятор? Кстати ваш код выполнен в стиле Си, вам надо в Си или С++?
Microsoft Visual Studio 2012
нужно в стиле Си
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
05.01.2013, 22:26 18
В 10 всё нормально, отработало.
Цитата Сообщение от Alkcatraz Посмотреть сообщение
нужно в стиле Си
А зачем же тогда размещаете задачу в разделе С++?
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
05.01.2013, 22:26 19
Alkcatraz, да вы что?
Аргумент типа int не совместим с параметрами типа int*
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.01.2013, 22:28  [ТС] 20
Цитата Сообщение от David Sylva Посмотреть сообщение
В 10 всё нормально, отработало.
А зачем же тогда размещаете задачу в разделе С++?
Велика разница??С++ содержит в себе Си.Да и в С++ больше пользователей онлайн
0
05.01.2013, 22:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2013, 22:28
Помогаю со студенческими работами здесь

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

Аргумент типа WCHAR* не совместим с параметром типа const char*
Как исправить косяк? VS12 ругаетсЯ #include &lt;windows.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt;...

Написать функцию типа Beaty(int iA, int iB, int *pc)
Задание: Написать функцию типа Beaty(int iA, int iB, int *pc); для выражения (iA+iB)/(iA*iB). ...

Значение типа "int*" нельзя присвоить сущности типа int
#include &lt;iostream&gt; using namespace std; int sort(int k, int p, int b, int n) { int min =...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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