Я работаю над заданием.Мое назначение: написать программу для поиска наименьшего положительного целого числа, которое не появляется в массиве и не может быть образовано суммой двух чисел в массиве. Используйте функции-
int issumof2 (int data[], int size, int number)
int inarray (int data [], int size, int number) (size - это количество элементов в массиве и данные берутся у пользователя)
Я действительно застрял на том, как это исправить.Я не знаю, как использовать обе функции вместе, чтобы найти номер.На этот р
#include <stdio.h>
//function declaration
int issumof2(int data[], int size, int number);
int inarray(int data[], int size, int number);
int i, data[7], size = 7, sum, n=0 number=0;
int main()
{
printf("Enter 7 numbers ");
for (i = 0; i < size; i++)
scanf("%d", &data[i]);
//function call
inarray(data, size, number);
issumof2(data, size,number);
printf("Number is %d\n", issumof2(data, size,number));//this is most likely wrong
return 0;
}
int issumof2(int data[], int size, int number)//add all combinations of data
{
inarray(data, size, number); //calling inarray to check that number isn't in data
{
for (j = i + 1; j < size; j++)//professor told me to use j<i but it doesn't work for some reason
{
sum = data[i] + data[j];//gets the sum
if (number != sum && number != data[i])
{
number = data[i]+1+number;
number++;
data[i]++;//moving on to the next data
}
}
}
return number;//this is also returning number??
}
int inarray(int data[], int size, int number)//check if number is in array
{
if (n <=size)
{
if (number != data[i])
number = data[i] + 1 + n;
n++;
data[i]++;//moving on to the next data
}
return number;//this is returning number
}
expected output:
Enter 7 numbers
1 2 2 3 4 3 1
Smallest positive Integer = 9