Помогите вывести на друк отрицательные елементы массива
Задан массив {1.2, 0.18, 1.32, -3.5, 12.6, 14.3, 1.23, 2.41, 7.3, -26.36, 8.2, 2.18, -1.2, 4.6, 0.153} Нужно вывести на друк отрицательные елементы с их номерами(можете помочь и без, главное вывести)
Ответы (1 шт):
Автор решения: Dafter
→ Ссылка
Надеюсь я правильно понял вашу задачу?
Дан массив чисел, вывести на экран отрицательные и их номера в массиве.
Создали массив:
float mas[] = {1.2, 0.18, 1.32, -3.5, 12.6, 14.3, 1.23, 2.41, 7.3, -26.36, 8.2, 2.18, -1.2, 4.6, 0.153};
float т.к. числа дробные
Посчитали длину массива:
int masSize = sizeof(mas) / sizeof(float);
Т.е. количество байт, которые занимает сам массив мы делим на число байт, которые занимает 1 элемент массива, так получаем длину массива
Ну а дальше просто пробежались по всему массиву и вывели отрицательные:
for (int i = 0; i < masSize; i++) {
if (mas[i] < 0) {
printf("%d: %g\n", i, mas[i]);
}
}
Код в итоге:
#include <stdio.h>
int main() {
float mas[] = {1.2, 0.18, 1.32, -3.5, 12.6, 14.3, 1.23, 2.41, 7.3, -26.36, 8.2, 2.18, -1.2, 4.6, 0.153};
int masSize = sizeof(mas) / sizeof(float);
for (int i = 0; i < masSize; i++) {
if (mas[i] < 0) {
printf("%d: %g\n", i, mas[i]);
}
}
return 0;
}
Что он вывел после выполнения:
3: -3.5
9: -26.36
12: -1.2