почему у меня не работает программа, нужно найти разницу элементов массива которые случайно генерируются в диапазоне
#include<iostream>
#include<math.h>
#include<algorithm>
#include<time.h>
using namespace std;
int main()
{
const int a = 2; /// минимальное значение массива
const int b = 18; /// максимальное значение массива
int subtraction;/// разнца элементов массива
const int lenght = 7;
int K[lenght] = {}; /// массив
srand(time(NULL));
for (int i = 0; i < lenght; i++) {
int K[7] = { a + rand() % (b - a + 1) };
}
sort(K, K + lenght);
for (int i = 0; i < lenght; i++) {
int num1 = K[1];
int num2 = K[2];
int num3 = K[3];
int num4 = K[4];
int num5 = K[5];
int num6 = K[6];
int num7 = K[7];
subtraction = num7 - num6 - num5 - num4 - num3 - num2 - num1;
cout << subtraction;
}
return 0;
}
Ответы (1 шт):
Автор решения: Юрий Козлов
→ Ссылка
Одна опечатка:
int K[7] = { a + rand() % (b - a + 1) };
как понимаю, имелось в виду
K[i] = { a + rand() % (b - a + 1) };
И одна ошибка: индексы массива идут от 0 до length-1, а у Вас дважды встречается K[7], что является выходом за пределы массива