Форум программистов, компьютерный форум, киберфорум
Языки JVM
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 27
1

Clojure Найти максимальный и минимальный элементы матрицы

21.04.2014, 02:43. Показов 1627. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Квадратная матрица чисел задана списком, в котором каждый элемент представляет собой подсписок, содержащий строку матрицы. Найти максимальный, минимальный элементы матрицы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2014, 02:43
Ответы с готовыми решениями:

Clojure Найти сумму, произведение и количество элементов матрицы, максимальный и минимальный элементы
Помогите, пожалуйста, решить следующую задачу: Квадратная матрица чисел задана списком, в...

Clojure Определить функцию, вычисляющую минимальный и максимальный элементы списка
1. Определить функцию, вычисляющую минимальный и максимальный элементы списка, значения которого...

Найти максимальный и минимальный элементы матрицы
В квадратной матрице размером 5х5, заполненной случайными целыми числами из диапазона (-30,+30) в...

Найти максимальный и минимальный элементы матрицы
В сгенерированном или или введённом с консоли двухмерном массиве размера M на N, где M и N...

9
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
21.04.2014, 07:42 2
Lisp
1
2
3
4
5
6
7
8
9
10
11
defun matrix-max-min (w &aux (v (flat w)))
  (values (reduce #'max v) (reduce #'min v)))
 
(defun flat (w &optional acc) 
  (cond ((null w) acc)
        ((atom w) (cons w acc))
        ((flat (car w) (flat (cdr w) acc)))))
 
> (matrix-max-min '((1 2) (3 4) (5 6)))
6
1
Добавлено через 7 минут
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(defun matrix-max-min (w)
  (values 
   (loop for a in w maximizing (maxi a))
   (loop for a in w minimizing (mini a))))
 
(defun maxi (w)
  (loop for a in w maximizing a))
 
(defun mini (w)
  (loop for a in w minimizing a))
 
> (matrix-max-min '((1 2) (3 4) (5 6)))
6
1
4
1050 / 944 / 107
Регистрация: 04.11.2012
Сообщений: 974
Записей в блоге: 3
21.04.2014, 11:00 3
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(defun Search-Max-Min (ls &optional acc)
  (cond
    ((null ls) acc)
    ((atom ls)
     (cond
       ((null acc) (cons ls ls))
       ((> ls (car acc)) (rplaca acc ls))
       ((< ls (cdr acc)) (rplacd acc ls))
       (t acc)))
    (t (Search-Max-Min (car ls) (Search-Max-Min (cdr ls) acc)))))
 
(Search-Max-Min '((1 2) (3 4) (5 6)))
; (6 . 1)
(Search-Max-Min '(6 (3 ((1) 7)) -4 (-7 (9 (8 5)) 2) -3))
; (9 . -7)
3
Модератор
Эксперт функциональных языков программированияЭксперт Python
36605 / 20333 / 4221
Регистрация: 12.02.2012
Сообщений: 33,649
Записей в блоге: 13
21.04.2014, 11:06 4
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
(defun min-max (matr)
  (let ((max-el (apply 'max (mapcar #'(lambda (x) (apply 'max x)) matr)))
        (min-el (apply 'min (mapcar #'(lambda (x) (apply 'min x)) matr))))
    (list min-el max-el))) 
 
==> min-max
 
(min-max '((1 2 3) (4 -5 6) (-7 8 -9)))
 
==> (-9 8)
 
(defun min-max (matr)
  (let ((flat-matr (apply 'append matr)) (min-el 0) (max-el 0))
        (iter (for x in flat-matr) (maximizing x into max-el) (minimizing x into min-el))
    (list min-el max-el))) 
 
==> min-max
 
(min-max '((1 2 3) (4 -5 6) (-7 8 -9)))
 
==> (-9 8)
3
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
21.04.2014, 11:41 5
Clojure:
Lisp
1
2
3
4
5
6
7
8
9
(ns learn-clojure.example
  (:require [clojure.core.matrix :as matrix]))
 
(defn m-min-max [m]
  ((juxt matrix/emin matrix/emax) m))
;; => #'learn-clojure.example/m-min-max
 
(m-min-max [[5 8] [7 1] [2 6]])
;; => [1 8]
3
defun
603 / 617 / 44
Регистрация: 30.04.2011
Сообщений: 702
21.04.2014, 13:49 6
_sg, flat не нужен:
Lisp
1
2
3
(defun matrix-max-min (w)
            (values (reduce #'max w :key #'car) 
                    (reduce #'min w :key #'car)))
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
36605 / 20333 / 4221
Регистрация: 12.02.2012
Сообщений: 33,649
Записей в блоге: 13
21.04.2014, 13:57 7
transformator.t, боюсь, Вы не правы... В выборе будут участвовать только первые элементы строк.
2
493 / 426 / 56
Регистрация: 29.04.2011
Сообщений: 443
21.04.2014, 14:28 8
Lisp
1
2
3
4
5
6
(defun matr-min-max (l)
    (cons 
        (apply #'max (apply #'mapcar (cons 'max l)))
        (apply #'min (apply #'mapcar (cons 'min l)))))
 
(matr-min-max '((1 2 3) (4 5 6) (7 8 9))) ==> (9 . 1)
2
defun
603 / 617 / 44
Регистрация: 30.04.2011
Сообщений: 702
21.04.2014, 15:13 9
Catstail, боюсь, что я не прав, так точно =)
0
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
21.04.2014, 20:59 10
Lisp
1
2
3
4
5
6
7
8
(defun matrix-max-min (w)
  (values 
   (reduce #'max (mapcar #'(lambda (a) (reduce #'max a)) w))
   (reduce #'min (mapcar #'(lambda (a) (reduce #'min a)) w))))
 
> (matrix-max-min '((1 2) (3 4) (5 6)))
6
1
Добавлено через 2 минуты
Lisp
1
2
3
4
5
6
7
8
9
(defun matrix-max-min (w)
  (values (edge w #'max) (edge w #'min)))
 
(defun edge (w p)
  (reduce p (mapcar #'(lambda (a) (reduce p a)) w)))
 
> (matrix-max-min '((1 2) (3 4) (5 6)))
6
1
Добавлено через 13 минут
Lisp
1
2
3
4
5
6
7
8
9
(defun matrix-max-min (w)
  (values (edge w 'max) (edge w 'min)))
 
(defun edge (w p)
  (reduce p (apply #'mapcar (cons p w))))
 
> (matrix-max-min '((1 2) (3 4) (5 6)))
6
1
Добавлено через 1 минуту
Lisp
1
2
3
4
5
6
7
8
9
(defun matrix-max-min (w)
  (values (edge w #'max) (edge w #'min)))
 
(defun edge (w p)
  (reduce p (apply #'mapcar (cons p w))))
 
> (matrix-max-min '((1 2) (3 4) (5 6)))
6
1
Добавлено через 2 часа 15 минут
Lisp
1
2
3
4
5
6
(defun matrix-max-min (w &aux (v (apply #'nconc w)))
  (values (reduce #'max v) (reduce #'min v)))
 
> (matrix-max-min '((1 2) (3 4) (5 6)))
6
1
Добавлено через 41 секунду
Lisp
1
2
3
4
5
6
(defun matrix-max-min (w &aux (v (reduce #'nconc w)))
  (values (reduce #'max v) (reduce #'min v)))
 
> (matrix-max-min '((1 2) (3 4) (5 6)))
6
1
4
21.04.2014, 20:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2014, 20:59
Помогаю со студенческими работами здесь

Найти минимальный и максимальный элементы матрицы
Дана матрица А. а) найти минимальный и максимальный элементы матрицы б) определить число...

Найти минимальный и максимальный элементы матрицы
Дана матрица А. а) найти минимальный и максимальный элементы матрицы б) определить число...

Найти минимальный, максимальный элементы матрицы
Дана матрица размером 5*5. Найти ее минимальный, максимальный элементы. Заменить элементы первой...

Найти максимальный и минимальный элементы матрицы
Дана матрица А(nxn). Написать программу, которая находит максимальный и минимальный элементы этой...

Найти максимальный и минимальный элементы матрицы
помогите пожалуйста, напишите код программы Дан массив А(m,n), найти максимальный и минимальный...

Найти максимальный и минимальный элементы матрицы
помогите пожалуйста, напишите код программы Дан массив А(m,n), найти максимальный и минимальный...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru