3 / 3 / 3 Регистрация: 04.11.2009 Сообщений: 98 |
|
1 |
|
Найти сумму отрицательных элементов массива27.02.2011, 03:54. Показов 20598. Ответов 9
Приветствую всех)) Проблема в том что программу надо реализовать в виде функции, а я без малейшего понятия как ето делать)) помогите кто чем может)
0 |
В астрале 8048 / 4805 / 655 Регистрация: 24.06.2010 Сообщений: 10,562 |
|
27.02.2011, 04:03 |
2 |
Iliabobr, Скажу сразу по обеим темам. Я бы выбрал первый вариант, если бы у меня были такие проблемы, да и вам того же советую.
0 |
2 / 2 / 2 Регистрация: 07.01.2011 Сообщений: 19 |
|
27.02.2011, 12:12 |
3 |
Смотри здесь Я решал уже такую задачу, а про функции читай и разбирайся, если не понятно пиши объясним
0 |
Iliabobr 3 / 3 / 3 Регистрация: 04.11.2009 Сообщений: 98 |
||||||||
27.02.2011, 16:42 [ТС] |
4 |
|||||||
ну вот я начал программу, как я понял в функции надо объявить массив м количество елементов
Добавлено через 40 секунд
массив м количество елементов и количество элементов то есть Добавлено через 49 минут
Вот пытался сумму отрицательных елементов посчитать, но прога даже не выводит ответ
0 |
ForEveR В астрале 8048 / 4805 / 655 Регистрация: 24.06.2010 Сообщений: 10,562 |
||||
27.02.2011, 16:54 |
5 |
|||
Сообщение было отмечено Памирыч как решение Решение
1 |
Iliabobr 3 / 3 / 3 Регистрация: 04.11.2009 Сообщений: 98 |
||||||||
27.02.2011, 18:53 [ТС] |
6 |
|||||||
я вот не понимаю, где увеличить шрифт в с++?=)))) Добавлено через 29 минут
выводит p_min_max нехорошее, наверно чето с выводом в самой программе нето Добавлено через 30 секунд
cout<<“p_min_max= “<<p_min_max<<‘n’; вот тут наверно ошибка Добавлено через 33 минуты
0 |
ForEveR В астрале 8048 / 4805 / 655 Регистрация: 24.06.2010 Сообщений: 10,562 |
||||
27.02.2011, 18:55 |
7 |
|||
Iliabobr, Как бы вам сказать то откровенно…
Все. Дальнейшей писанины для компилятора и программы не существует. После return – идет выход из функции, следовательно ничего, что написано дальше не выполняется.
0 |
3 / 3 / 3 Регистрация: 04.11.2009 Сообщений: 98 |
|
27.02.2011, 19:07 [ТС] |
8 |
точняк))
0 |
В астрале 8048 / 4805 / 655 Регистрация: 24.06.2010 Сообщений: 10,562 |
|
27.02.2011, 19:16 |
9 |
Iliabobr, Это плохо делать. Сделайте разные функции. Или используйте передачу параметров по ссылке. Либо создавать структуру с нужными полями, в функции создавать объект структуры, заполнять его нужными значениями по мере подсчетов. Возвращать в main объект структуры.
1 |
Iliabobr 3 / 3 / 3 Регистрация: 04.11.2009 Сообщений: 98 |
||||
04.03.2011, 12:13 [ТС] |
10 |
|||
Вот так всё работает!
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
04.03.2011, 12:13 |
Помогаю со студенческими работами здесь Найти сумму отрицательных элементов массива Найти сумму отрицательных элементов массива Найти сумму отрицательных элементов массива Найти сумму отрицательных элементов массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 10 |
numbers = [-2, -4, -5, 20, 18]
i = len(numbers)
total = 0
while i >= 0 and numbers[i] < 0:
total += numbers[i]
i -= 1
print (total)
Выдаёт ошибку в 4 строке list index out of range, но i изначально равен 5, да и второе условие соблюдается. Что не так, подскажите.
Всем спасибо, решил так:
numbers = [-2, -4, -5, 20, 18]
i = 0
total = 0
while i < len(numbers) and numbers[i] < 0:
total = total + numbers[i]
i = i + 1
print(total)
задан 5 фев 2022 в 14:13
АртурАртур
114 бронзовых знака
2
numbers = [-2, -4, -5, 20, 18]
numbers.sort()
res = 0
i = 0
while i < len(numbers):
if numbers[i] < 0:
res += numbers[i]
else:
break
i += 1
print(res)
#-11
ответ дан 5 фев 2022 в 16:28
3
индексы в python
идут от нуля, следовательно, в вашем массиве максимальным индексом может быть только 4, поэтому у вас происходит выход за границы массива.
numbers = [-2, -4, -5, 20, 18]
numbers = sorted(numbers)
i = 0
total = 0
while numbers[i] < 0:
total += numbers[i]
i += 1
print(total)
либо сделать так:
numbers = [-2, -4, -5, 20, 18]
numbers = sort(numbers)
total = 0
for n in numbers:
if n < 0:
total += n
print(total)
else:
break
ответ дан 5 фев 2022 в 14:34
zolarszolars
5971 серебряный знак16 бронзовых знаков
9
numbers = [-2, -4, -5, 20, 18]
total = 0
i = len(numbers) - 1
while i >= 0:
if numbers[i] < 0:
total += numbers[i]
else:
break
i -= 1
print(total)
ответ дан 5 фев 2022 в 14:58
1
Функция сложения всех отрицательных чисел в массиве
function sumMinus (arr) { return arr.filter(i=>i<0).map(i=>x+=i,x=0).reverse()[0] }
Пример работы функции:
var massiv = [-10, -5, -3, -2, 0, 2, 3, 5, 10] sumMinus (massiv)
В результате получаем сумму всех отрицательных чисел массива, равную -20.
Собственный метод для объектов-прототипов Array
Array.prototype.sumMinus = function() { return this.filter(i=>i<0).map(i=>x+=i,x=0).reverse()[0] }
Пример работы метода:
[-5, -3, -2 , 0, 2, 3, 5].sumMinus()
10
Информационные ссылки
JavaScript | Как сложить все числа в массиве?
JavaScript | Как сложить все положительные числа в массиве?
Стандарт ECMAScript — Раздел «23.1.3 Properties of the Array Prototype Object» — https://tc39.es/ecma262/#sec-properties-of-the-array-prototype-object
Есть строка: var stroka = «/Mazda%» Как нам удалить первый и последний символы в этой строке? Видео Способ № 1 […]
Код HTML-разметки с тегом script: <!DOCTYPE html> <html lang=«en»> <head> <meta charset=«UTF-8»> <meta http-equiv=«X-UA-Compatible» content=«IE=edge»> <meta […]
Способ № 1 Мы можем использовать оператор двойной звёздочки ** — это «экспоненциальный оператор» (Exponentiation Operator) — оператор возведения в степень. […]
Команда document.getElementsByTagName(«svg») возвращает HTML-коллекцию HTML-элементов <svg> со страницы (документа). Элементы коллекции тянут за собой всех потомков. Забор данных осуществляется в древовидном порядке, […]
Добрый вечер!
Условия задачи: Дано одномерный массив А, состоящий из 18 элементов. Вычислить и напечатать сумму отрицательных одинаковых элементов.
Не понимаю, как мне подсчитать суму отрицательных значений и отсортировать массив, чтобы одинаковые элементы можно было вводить в разброс (если я ввожу одинаковые элементы в разброс, ничего не работает).
Спасибо!
Код задачи:
#include <stdlib.h>
#include <stdio.h>
#define N 18
int main() {
int i, sum=0;
int a[N] = {-5, -5, 6, 13, 10, 16, -18, -18, 11, 17, -3, -3, -7, -7, 9, 31, -4, -4};
printf("Выходные данные = ");
for (i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("nПарные элементы = ");
for (i = 0; i < N; i++) {
if (a[i] == a[i - 1] && a[i] < 0) {
printf("%i ", a[i]);
}
}
for (i = 0; i < N; i++) {
sum += a[i] < 0;
}
printf("nСумма отрицательных элементов = %d", sum);
}
Перейти к контенту
Вычислительная техника и дискретная математика
C++
Найдите сумму отрицательных элементов массива.
Решение:
int sum=0; for (int i=0; i<n; i++) { if (a[i]<0) { sum+=a[i]; } } if (!sum) { cout<<"no numbers < 0"; } else { cout<<"sum = "<<sum; }
Рейтинг
( Пока оценок нет )