Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 77

Вычислить минимальный элемент одномерного массива

19.09.2016, 17:16. Показов 1569. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В одномерном массиве, состоящем из N действительных элементов, вычислить:
n минимальный элемент массива;
n сумму элементов массива, расположенных между первым и последним положительными элементами.
n Превратить массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом - все остальное.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.09.2016, 17:16
Ответы с готовыми решениями:

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

Минимальный элемент одномерного массива A заменить на третий отрицательный элемент
Минимальный элемент одномерного массива A заменить на третий отрицательный элемент. Третий отрицательный искать от минимального элемента.

Найти минимальный элемент одномерного массива
Здравствуйте! я программу написал, но он почему та значение мин находит неправильно. Скажите пожалуйста где ощибка? #include...

14
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,814
19.09.2016, 17:17
Недавно решали точно такое же задание.
0
0 / 0 / 0
Регистрация: 29.03.2016
Сообщений: 8
21.09.2016, 14:56
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "rus");
    int mas[10]={1,2,4,0,8,1,0,4,5,4};
    for(int i  = 0; i<10; i++)
    {
        //cin >> mas[i] ;
        cout << mas[i] << "   ";
    }
    cout << endl;
    int min = mas[0];
    for(int i= 0; i<10; i++)
    {
        if(min>mas[i])
        {
        min = mas[i];
        }
    }
    cout << "Минимальный элемент: " << min << endl;
    int sum = 0;
    for(int i =0; i<10; i++)
    {
        sum +=mas[i];
    }
    cout << "Сумма = " << sum << endl;
    int temp = 0;
    for(int i =0; i<10; i++)
    {
        for(int j = 0;  j<10; j++)
        {
        if(mas[i]<mas[j])
        {
            temp = mas[i];
            mas[i] = mas[j];
            mas[j] = temp;
        }
        }
    }
    for(int i= 0; i<10; i++)
    {
        cout << mas[i] << "  ";
    }
    cout << endl;
    system("pause");
    return 0;
}
Ну как то так, правда последнее задание так себе получилось
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
21.09.2016, 15:46
Лучший ответ Сообщение было отмечено gru74ik как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <algorithm>
#include <iterator>
#include <numeric>
 
 
template<typename T, std::size_t N>
void out(T (&arr)[N])
{
    for(auto e: arr)
        std::cout << e << " ";
}
 
 
int main()
{
    int arr[] = {0, -2, 0, 5, 7, 3, 8, 0, -5, 3, -7, -4};
    auto begin = std::begin(arr);
    auto end = std::end(arr);
    std::cout << "Source: ";
    out(arr);
    std::cout << "\n";
    std::cout << "Min: " << *std::min_element(begin, end) << "\n";
    auto itF = std::find_if(begin, end, [](int x){return x>0;});
    if(itF == end){
        std::cout << "Positive not found\n";
    }else{
        auto itL = std::find_if(std::rbegin(arr), std::rend(arr), [](int x){return x>0;});
        std::cout << "Sum: " << std::accumulate(itF, itL.base(), 0) << "\n";
    }
    std::partition(begin, end, [](int x){return x==0;});
    std::cout << "Result: ";
    out(arr);
    std::cout << "\n";
}
http://rextester.com/XIOV41060
1
Объявлятель переменных
 Аватар для SpBerkut
1225 / 411 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
22.09.2016, 14:37
Функция вычисления минимального элемента:
C++
1
2
3
4
double gM(double *A, int N) {
    int M=N/2,X,Y;
    return(N==1?A[0]:N==2?A[A[0]>A[1]]:(X=gM(A,M))<(Y=gM(A+M,N-M))?X:Y);
}
0
Заблокирован
22.09.2016, 18:48
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//init
    float init[10] = {-2, 3, -10, 10, 3, 1, 2, 2};
 
    //result
    //1
    cout << *std::min_element(init, init + 10) << endl;
 
    //2
    cout << std::accumulate(std::find_if(init, init + 10, std::bind1st(std::less<float>(), 0)),
            &*(std::find_if(reverse_iterator<float*>(init + 9), reverse_iterator<float*>(init - 1),
            std::bind1st(std::less<float>(), 0)) -= 1), 0) << endl;
 
    //3
    std::stable_partition(init, init + 10, std::bind2nd(std::equal_to<float>(), 0));
    for (const float& elem : init)cout << elem << " ";
Добавлено через 6 минут
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
3
int arr[] = {0, -2, 0, 5, 7, 3, 8, 0, -5, 3, -7, -4};
    auto begin = std::begin(arr);
    auto end = std::end(arr);
для массива, поржал )))
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
22.09.2016, 18:51
Цитата Сообщение от Dsasdf Посмотреть сообщение
для массива, поржал )))
Вас что-то удивило в этом коде? Всё корректно, зачем "ржать"?
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
22.09.2016, 19:03
Цитата Сообщение от Dsasdf Посмотреть сообщение
для массива, поржал
Специально для Вас: http://en.cppreference.com/w/cpp/iterator/begin
Особое внимание обратить на:
C++
1
2
template< class T, std::size_t N > 
constexpr T* begin( T (&array)[N] );
Добавлено через 6 минут
Dsasdf, ну а я пока покатаюсь над Вашим кодом.
Чем обусловлено использование всяких bind1st (bind2nd), который уже устарели?
Причем следом идет использование range-based-for.
1
Заблокирован
22.09.2016, 19:16
Цитата Сообщение от Croessmah Посмотреть сообщение
Чем обусловлено использование всяких bind1st (bind2nd), который уже устарели?
Еще перл. писать свои велосипеды потому, что STL устарел? )))). Дальше что?

Добавлено через 7 минут
Цитата Сообщение от Croessmah Посмотреть сообщение
template< class T, std::size_t N >
constexpr T* begin( T (&array)[N] );
Я рад, что ты открыл это для себя. НО, зачем ?? )))

Добавлено через 3 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
я пока покатаюсь над Вашим кодом
Удачи, не знающий основ.
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
22.09.2016, 19:18
Цитата Сообщение от Dsasdf Посмотреть сообщение
писать свои велосипеды потому, что STL устарел?
Dsasdf, откройте для себя понятие "deprecated":
Миниатюры
Вычислить минимальный элемент одномерного массива  
0
Заблокирован
22.09.2016, 19:42
Цитата Сообщение от gru74ik Посмотреть сообщение
Dsasdf, откройте для себя понятие "deprecated":
Ну я знаю, и,что ? )) Значит теперь пишем все велосипеды, потому, что там сказали? .
В STL оно будет всегда и там где удобно будет использоваться всегда, но то, что некоторые "знающие С++" с нарисованными цифрами про это слухом не слыхали я че-то не удивлен.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
22.09.2016, 19:44
Цитата Сообщение от Dsasdf Посмотреть сообщение
Значит теперь пишем все велосипеды, потому, что там сказали?
Какие велосипеды? Если не хотите лямбы, то хоть уж std::bind, а не эти явно устаревшие штуковины.
Цитата Сообщение от Dsasdf Посмотреть сообщение
В STL оно будет всегда и там где удобно будет использоваться всегда
Угу. И поэтому там есть более новый std::bind
Цитата Сообщение от Dsasdf Посмотреть сообщение
Удачи, не знающий основ.
Смешно. Ну удачи, самовлюбленный человек.
Цитата Сообщение от Dsasdf Посмотреть сообщение
про это слухом не слыхали я че-то не удивлен
Ага. Особо знающие C++ еще iostream.h используют.

Добавлено через 1 минуту
gru74ik, я основ не знаю. Печаль.
1
Заблокирован
22.09.2016, 19:46
Цитата Сообщение от Croessmah Посмотреть сообщение
Какие велосипеды? Если не хотите лямбы, то хоть уж std::bind, а не эти явно устаревшие штуковины.
))) Перл 3 - я все равно буду писать лямбду, даже, когда есть готовая вещь 1 в 1 в STL

Добавлено через 1 минуту
Цитата Сообщение от Croessmah Посмотреть сообщение
gru74ik, я основ не знаю.
После твоих перлов это факт.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
22.09.2016, 19:49
Цитата Сообщение от Dsasdf Посмотреть сообщение
я буду писать лямбду когда есть готовая вещь 1 в 1 в STL
Ага. less + bind, а не bint2nd.

Добавлено через 1 минуту
тогда это зачем навелосипедил:
Цитата Сообщение от Dsasdf Посмотреть сообщение
C++
1
for (const float& elem : init)cout << elem << " ";
???
Почему не copy с ostream_iterator?

Добавлено через 49 секунд
Цитата Сообщение от Dsasdf Посмотреть сообщение
После твоих перлов это факт.
Угу. Я уже своё на биндах отписал, спасибо, надышался.
0
0 / 0 / 0
Регистрация: 29.03.2016
Сообщений: 8
23.09.2016, 22:40
Я написал тот код, думая что автору нужен такой, а готовые шаблоны и методы они наверное ещё не изучили))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.09.2016, 22:40
Помогаю со студенческими работами здесь

Определить минимальный элемент одномерного массива
Помогите Определить минимальный элемент одномерного массива. Размер массива и массив вводятся пользователем с клавиатуры. Вывести в...

Минимальный и максимальный элемент одномерного массива
Дан массив int mas. Определить, что стоит правее - минимальный и максимальный элемент.

Максимальный и минимальный элемент одномерного массива
Доброго времени суток всем. условие задачи таково: Нужно найти максимальный и минимальный элемент одномерного массива задача...

Максимальный и минимальный элемент одномерного массива
Доброго времени суток всем. условие задачи таково: Нужно найти максимальный и минимальный элемент одномерного массива с динамическим...

Найти минимальный элемент заданного одномерного массива
Найти минимальный элемент массива А .


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru