В массиве, содержащем не более 30 элементов ( формат числа +-цц ), найти сумму элементов, абсолютная величина которых отличается от заданного числа не более, чем на 5. Среди остальных элементов найти максимальный и его номер.
Помогите мне с задачей, пожалуйста, я ни черта не понял на лекции.
Другие языки программирования и технологии
Программирование. Одномерные массивы в си.
"я ни черта не понял на лекции" Совершенно нормально. Лекции служат только для того, чтобы понять, о чем читать в учебниках :)
#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;
}
#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)
то увеличиваем на это значение переменной, хранящей сумму элементов
иначе (если его значение больше переменной максимального значения)
то в эту переменную пишем это значение, а в переменную позиции записываем значение позиции
по окончании цикла выводим на экран значение переменных
инициализируем его начальными значениями (или заполняем случайными)
создаем 3 переменных: сумма элементов, величина остального числа (равно 0) и его позиция в массиве (равно 0)
в цикле начинаем перебор элементов массива
цикл (от 0 до границ массива, с шагом +1)
если (значение в текущем элементе массива по модулю меньше или равно 5)
то увеличиваем на это значение переменной, хранящей сумму элементов
иначе (если его значение больше переменной максимального значения)
то в эту переменную пишем это значение, а в переменную позиции записываем значение позиции
по окончании цикла выводим на экран значение переменных
Ну собственно числа нужно перебирать циклом, проверять насколько отличаются, и искать максимум.
Напишите на почту, сделаю.
Напишите на почту, сделаю.
по таким базовым вещам есть огромное количество информации
почитай, попытайся вникнуть, попытайся написать хоть что-то и выложи сюда, с конкретным вопросом, что именно тебе непонятно и что именно не получается
почитай, попытайся вникнуть, попытайся написать хоть что-то и выложи сюда, с конкретным вопросом, что именно тебе непонятно и что именно не получается
Похожие вопросы
- Функция для сравнения элементов 2 одномерных массивов на си?
- Помогите пожалуйста решить задачи по информатике, одномерные массивы. Си шарп. Очень срочно. Пожалуйста!!!!
- Язык Си: В одномерном массиве, состоящем из n вещественных элементов, вычислить: номер максимального по модулю элемента
- Помогите с программой Одномерные массивы и указатели
- В одномерном массиве, состоящем из n вещественных элементов, вычис- лить: 39 1) сумму положительных элементов массив
- Помогите сделать лабораторную работу по теме "Одномерные массивы" [C++]
- Microsoft Visual C++ 6.0 В одномерном массиве, состоящем из n вещественных элементов, вычислить...
- Помогите с С++. Надо найти произведение элементов одномерного массива между первым и последним 0.
- Написать программу работы с одномерным массивом из 15 вещественных элементов для решения задач:
- ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ОДНОМЕРНЫХ МАССИВОВ