5 / 5 / 1
Регистрация: 05.11.2011
Сообщений: 190
1

Номер минимального элемента

22.05.2013, 20:23. Показов 1996. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне нужно в одномерном массиве вычислить минимальный элемент массива и его номер. Проблема как раз с вычислением номера, помогите, пожалуйста!)

F#
1
2
3
[|1;8;9;5;3|]
|> Array.min
|> Array.findIndex [Array.min];;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2013, 20:23
Ответы с готовыми решениями:

Для каждой заданной матрицы определить местоположение (номер строки и номер столбца) минимального элемента
Даны массивы А, В, С. Для каждого определить местоположение (номер строки и номер столбца)...

Найти номер последнего минимального элемента средиэлементов, меньших Т1 и расположенных до первого элемента, большего Т2
Работает правильно ,только если встречает число >=Т2. В другом случае выводит номер,равный...

Найти номер минимального по модулю элемента массива и сумму модулей после первого отрицательного элемента
1.В одномерном массиве, состоящем из n вещественных элементов, вычислить: а)номер минимального по...

Найти номер последнего минимального элемента среди элементов, меньших t и лежащих правее первого элемента, равного s
Дан целочисленный вектор A(n). Найти номер последнего минимального элемента среди элементов,...

3
Эксперт Python
4632 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,132
Записей в блоге: 6
24.05.2013, 09:57 2
Проблема сложнее, чем кажется.
Значение минимального элемента - одно, а индексов может быть несколько.
Напр, 0, 0, 1, 2 - два минимальных элемента.
Отсюда следствия, что путей нахождения наименьших индексов, как минимум, два - с оптимизацией по памяти и по быстродействию.
Первый путь - два прохода, сначала ищем минимальное значение, потом все индексы, значение в которых ему равно.
Второй путь я еще до конца не продумал
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
24.05.2013, 11:05 3
Цитата Сообщение от dondublon Посмотреть сообщение
Проблема сложнее, чем кажется.
Значение минимального элемента - одно, а индексов может быть несколько.
Напр, 0, 0, 1, 2 - два минимальных элемента.
Отсюда следствия, что путей нахождения наименьших индексов, как минимум, два - с оптимизацией по памяти и по быстродействию.
Первый путь - два прохода, сначала ищем минимальное значение, потом все индексы, значение в которых ему равно.
Второй путь я еще до конца не продумал
Можно все (и память и быстродействие) за раз.
F#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
let seek xs = 
    let rec loop i min indexes =
        if i >= Array.length xs then (min, List.rev indexes) else
        let e = xs.[i]
        match indexes with 
        | []              -> loop (i + 1) e [i] 
        | xs when e < min -> loop (i + 1) e [i] 
        | xs when e = min -> loop (i + 1) e (i :: xs) 
        | _               -> loop (i + 1) min indexes
    loop 0 0 []  
 
 
do 
    printfn "%A" <| seek [| 1; 2; 3; 2; 0; 4; 5; 0; 1 |]
    System.Console.ReadKey() |> ignore
Добавлено через 17 минут
Хотя с памятью как повезет

Добавлено через 10 минут
Видимо двухпроходный вариант будет все же лучше
F#
1
2
3
4
5
6
let seek xs = 
    let min     = xs |> Array.min 
    let indexes = xs |> Seq.mapi (fun i e -> (i, e)) 
                     |> Seq.choose (fun (i, e) -> if e = min then Some i else None)
                     |> Seq.toList
    min, indexes
0
Эксперт Python
4632 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,132
Записей в блоге: 6
24.05.2013, 12:54 4
pycture, н-да, красиво.
Понял не до конца, но видно, что в один проход делается.
0
24.05.2013, 12:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2013, 12:54
Помогаю со студенческими работами здесь

номер первого минимального элемента
Задан целочисленный одномерный массив a из n элементов. Найти номер первого минимального элемента...

номер минимального по модулю элемента
пож-та помогите решить задачку! срочно надо!заранее благодарна!=) В одномерном массиве,...

Найти номер первого минимального элемента среди положительных элементов, расположенных до первого элемента, кратного пяти.
Задан целочисленный одномерный массив a из n элементов. Найти номер первого минимального элемента...

Найти номер минимального элемента массива
Рябят, помогите пожалуйста...просто очень срочно нужно.... С одномерным динамическим массивом,...


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

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

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