Вы вносите изменения в arr
, который является массивом типа int
, поэтому каждый плавающий тип данных будет автоматически меняться, игнорируя десятичные точки, а оставшееся число будет int
, т.е. int 5 = 5.9;
будет равно 5
который является ответом вашей последней строки. Таким образом преобразуйте ваш массив arr
в тип данных с плавающей запятой или двойной тип.
float arr[20] = {12, -30, 23, -43, 51, 26, 0, 88, 19, -10, 11, 2, 23, -14, 15, 6, -7, 1, -19, 120};
for(int i = 0; i < 20; i++) {
if(arr[i] < 0) {
a1 += arr[i]; // sum of negative numbers
}
}