Другие языки программирования и технологии

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

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

Помогите мне с задачей, пожалуйста, я ни черта не понял на лекции.
"я ни черта не понял на лекции" Совершенно нормально. Лекции служат только для того, чтобы понять, о чем читать в учебниках :)
Алексей Ковалев
Алексей Ковалев
88 509
Лучший ответ
#include <stdio.h>
#include <stdlib.h>

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: %d\n", s);
    if (m != -1) printf("max: a[%d] = %d\n", m, a[m]);
    return 0;
}
создаем одномерный массив
инициализируем его начальными значениями (или заполняем случайными)
создаем 3 переменных: сумма элементов, величина остального числа (равно 0) и его позиция в массиве (равно 0)
в цикле начинаем перебор элементов массива
цикл (от 0 до границ массива, с шагом +1)
если (значение в текущем элементе массива по модулю меньше или равно 5)
то увеличиваем на это значение переменной, хранящей сумму элементов
иначе (если его значение больше переменной максимального значения)
то в эту переменную пишем это значение, а в переменную позиции записываем значение позиции
по окончании цикла выводим на экран значение переменных
Ну собственно числа нужно перебирать циклом, проверять насколько отличаются, и искать максимум.
Напишите на почту, сделаю.
по таким базовым вещам есть огромное количество информации
почитай, попытайся вникнуть, попытайся написать хоть что-то и выложи сюда, с конкретным вопросом, что именно тебе непонятно и что именно не получается
Valery Kyleashou
Valery Kyleashou
1 034

Похожие вопросы