Форум программистов, компьютерный форум, киберфорум
Наши страницы
Haskell
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Brazilka
1 / 1 / 0
Регистрация: 19.10.2016
Сообщений: 25
1

Массив: Подсчитать в заданном массиве сумму чисел...

27.02.2019, 16:45. Просмотров 1126. Ответов 11
Метки нет (Все метки)

Допустим у меня есть массив [2,4,1,5]
1)Подсчитать в нем сумму чисел.
2)Подсчитать сумму чисел в квадрате.
3) Найти длину массива.
HELP!!
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2019, 16:45
Ответы с готовыми решениями:

Подсчитать количество чисел в заданном списке
Помогите, пожалуйста. С данным языком не знаком, очень надо сдать задачу. Подсчитать количество...

Подсчитать в заданном массиве сумму чисел, кратных трем
Дан массив целых чисел (размер – случайное число из диапазона ). Элементы массива задает...

Подсчитать количество всех чисел, лежащих в диапазоне от а до с в заданном массиве чисел
Подсчитать количество всех чисел, лежащих в диапазоне от а до с в заданном массиве чисел....

Подсчитать и напечатать, сколько различных чисел в заданном массиве
Задан массив целых чисел. Подсчитать и напечатать, сколько различных чисел в этом массиве....

В заданном массиве подсчитать количество чисел, делящихся без остатка на 7
1) создать экранную форму, разместив на ней элементы управления: кнопку и два тек-стовых поля –...

11
Curry
2952 / 2024 / 252
Регистрация: 01.06.2013
Сообщений: 4,420
Записей в блоге: 8
27.02.2019, 17:30 2
Haskell
1
2
3
4
5
6
7
8
import qualified Data.Vector.Unboxed as U -- пакет vector
 
main :: IO ()
main = do
    let array = U.fromList [2,4,1,5 :: Int]
    print $ U.sum array
    print $ U.foldl (\s x -> s + x * x) 0 array
    print $ U.length array
1
Brazilka
1 / 1 / 0
Регистрация: 19.10.2016
Сообщений: 25
27.02.2019, 17:45  [ТС] 3
Можно мне еще пример как сложить 2 массива?
[1,3,4] + [9,4,1], должно же получиться [10,7,5]

Добавлено через 2 минуты
Вот как я допустим в массиве возвожу числа в квадрат:
Haskell
1
Prelude> [a*a | a <- a]
0
XRuZzz
Антикодер
1614 / 775 / 44
Регистрация: 15.09.2012
Сообщений: 2,890
27.02.2019, 18:02 4
В Haskell-e аналоги массивов - это списки. [2,4,1,5] - это список.
Разница между списками и массивами в том, что массив из себя представляет способ описания памяти в компьютере, а список это некая абстракция над памятью. Компилятор GHC сам генерирует необходимые инструкции для работы с памятью. Примеры массивов смотрите в посте Curry выше.
Чтобы решить задачки со списками, нужно научиться писать рекурсивные функции:
Функциональное программирование → λ-исчисление → Рекурсия и редукция
LYAH → Recursion (можете поискать эту книгу на русском)
Лекции со stepic-a → Рекурсивное определение функции
Но вам лучше начинать изучать все эти уроки не с рекурсии, а с начала.
0
27.02.2019, 18:02
Brazilka
1 / 1 / 0
Регистрация: 19.10.2016
Сообщений: 25
27.02.2019, 18:06  [ТС] 5
Мне бы только помочь с подсчетом суммы элементов массива или перемножением, пжл.
Хочу получить на выход к примеру.
a[5,1,2] * b[1,5,3] = [5,5,6]. помогите с этим, пжл.

Добавлено через 3 минуты
Думаю вы поняли, что мне надо перемножить не массивы, а их элементы, спасибо.
0
XRuZzz
Антикодер
1614 / 775 / 44
Регистрация: 15.09.2012
Сообщений: 2,890
27.02.2019, 18:13 6
Цитата Сообщение от Brazilka Посмотреть сообщение
помогите с этим, пжл.
Моя позиция - помогать с готовым решением мало толку. Готовые решения лично мне никогда особо ни чем не помогали, когда нету своего решение, чтобы сравнить.
Не важно, нужен вам Haskell или нет, готовое решение вас не спасёт в любом случае.
Могу лишь помочь объяснением материала, который вам непонятен в уроках, если вы его прочитаете.
2
Curry
2952 / 2024 / 252
Регистрация: 01.06.2013
Сообщений: 4,420
Записей в блоге: 8
27.02.2019, 18:16 7
Haskell
1
2
3
4
5
6
7
import qualified Data.Vector.Unboxed as U -- пакет vector
 
main :: IO ()
main = do
    let a = U.fromList [5,1,2 :: Int]
        b = U.fromList [1,5,3 :: Int]
    print $ U.zipWith (+) a b
1
Brazilka
1 / 1 / 0
Регистрация: 19.10.2016
Сообщений: 25
27.02.2019, 18:20  [ТС] 8
Я понимаю, что ваша позиция может быть такой, но у меня всего 1 проблема с этим, далее я все знаю.
Так что прошу помощи.
0
XRuZzz
Антикодер
1614 / 775 / 44
Регистрация: 15.09.2012
Сообщений: 2,890
27.02.2019, 18:27 9

Не по теме:

Цитата Сообщение от Brazilka Посмотреть сообщение
... далее я все знаю.
очень не скромное утверждение, я даже не могу представить, что может быть "всем"



Цитата Сообщение от Brazilka Посмотреть сообщение
Так что прошу помощи.
Ссылки на нужные уроки, объяснение непонятной информации - чуть ли не единственный способ реальной помощи в таких случаях.
Давать рыбу людям бесполезно. Лучше учить людей добывать еду, не причиняя вреда природе
А если человек реально хочет чему то научиться, то ему ещё палки в колёса желательно вставлять.
0
Catstail
Модератор
24609 / 12516 / 2285
Регистрация: 12.02.2012
Сообщений: 20,335
27.02.2019, 19:17 10
Лучший ответ Сообщение было отмечено Brazilka как решение

Решение

Цитата Сообщение от Brazilka Посмотреть сообщение
Допустим у меня есть массив [2,4,1,5]
- это список, а не массив. Забудь о массивах.

Haskell
1
2
3
4
5
6
7
8
9
10
Prelude> sum [2,4,1,5] -- сумма элементов списка
12
Prelude> sum $ map (^2) [2,4,1,5] -- сумма квадратов
46
Prelude> length [2,4,1,5] -- длина
4
Prelude> zipWith (+) [1,3,4] [9,4,1] -- сумма двух списков
[10,7,5]                     
Prelude> zipWith (*) [5,1,2] [1,5,3] -- поэлементное произведение
[5,5,6]
2
Curry
2952 / 2024 / 252
Регистрация: 01.06.2013
Сообщений: 4,420
Записей в блоге: 8
27.02.2019, 19:37 11
Цитата Сообщение от Catstail Посмотреть сообщение
это список, а не массив. Забудь о массивах.
Вообще то ТС просил показать как это сделать с массивами. И хотя, конечно, наверняка, это от незнания Haskell, тем не менее, что просили, то я и привёл. Тем более что здесь с массивами используются функции с теми же именами и с тем же смыслом.
1
Catstail
Модератор
24609 / 12516 / 2285
Регистрация: 12.02.2012
Сообщений: 20,335
27.02.2019, 19:40 12
Curry, Он просил, не понимая, что просит... Человек, дошедший до массивов в Haskell, не стал бы спрашивать "как сложить два массива".
1
27.02.2019, 19:40
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2019, 19:40

В заданном целочисленном массиве A(N;N) подсчитать колво строк являющихся перестановкой чисел от 1 до n
В заданном целочисленном массиве A(N;N) подсчитать колво строк являющихся перестановкой чисел от 1...

Подпрограмма считающая сумму и количество нечётных чисел в заданном массиве 2-х байтовых чисел без знака
есть подобная прога, кот. считает кол-во и сумму ПОЛОЖИТЕЛЬНЫХ чисел.не знаю, как переделать в b3:...

Сформировать массив из целых чисел от 2 до N, подсчитать сумму квадpатов четных и сумму квадратов нечетных чисел
Сформировать в программе массив из целых чисел от 2 до N. Подсчитать сумму квадpатов четных и сумму...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru