Программирование. Одномерные массивы в си

Программирование. Одномерные массивы в си.
В массиве, содержащем не более 30 элементов ( формат числа +-цц ), найти сумму элементов, абсолютная величина которых отличается от заданного числа не более, чем на 5. Среди остальных элементов найти максимальный и его номер.

Помогите мне с задачей, пожалуйста, я ни черта не понял на лекции.

  • "я ни черта не понял на лекции" Совершенно нормально. Лекции служат только для того, чтобы понять, о чем читать в учебниках :)
  • Ну собственно числа нужно перебирать циклом, проверять насколько отличаются, и искать максимум.
    Напишите на почту, сделаю.
  • по таким базовым вещам есть огромное количество информации
    почитай, попытайся вникнуть, попытайся написать хоть что-то и выложи сюда, с конкретным вопросом, что именно тебе непонятно и что именно не получается
  • создаем одномерный массив
    инициализируем его начальными значениями (или заполняем случайными)
    создаем 3 переменных: сумма элементов, величина остального числа (равно 0) и его позиция в массиве (равно 0)
    в цикле начинаем перебор элементов массива
    цикл (от 0 до границ массива, с шагом +1)
    если (значение в текущем элементе массива по модулю меньше или равно 5)
    то увеличиваем на это значение переменной, хранящей сумму элементов
    иначе (если его значение больше переменной максимального значения)
    то в эту переменную пишем это значение, а в переменную позиции записываем значение позиции
    по окончании цикла выводим на экран значение переменных
  • #include
    #include

    int main() {
    int a[30], n, v, s = 0, m = -1, c;
    srand(time(NULL));
    printf("n? "); scanf("%d", &n);
    if (n < 1 || n > 30) return 0;
    puts("array:");
    for (c = 0; c < n; ++c) {
    a[c] = rand() % 199 - 99;
    printf("%""4d", a[c]);
    }
    printf("nv? "); scanf("%d", &v);
    for (c = 0; c < n; ++c) {
    if (abs(v - abs(a[c])) < = 5) {
    s += a[c];
    } else if (m == -1 || a[c] > a[m]) {
    m = c;
    }
    }
    printf("sum: %dn", s);
    if (m != -1) printf("max: a[%d] = %dn", m, a[m]);
    return 0;
    }