Помогите вывести на друк отрицательные елементы массива

Задан массив {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
→ Ссылка