Форум программистов, компьютерный форум CyberForum.ru

Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Найти наименьший из его положительных элементов. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Строки Слов http://www.cyberforum.ru/cpp-beginners/thread223743.html
Ввести с клавиатуры строку символов, состоящую из слов, разделенных между собой одиночными пробелами. Если в строке оказалось не менее 2 слов, то поменять местами первое и последнее слова; если же слово только одно, удалить из него все заглавные латинские буквы.
C++ Глобальная ф-ция getline Всем добрый вечер :) Вообщем есть кусок кода: // read for name vector while (std::getline(std::cin, name)) { scoreIsValid = false; http://www.cyberforum.ru/cpp-beginners/thread223724.html
Вывести символы wchar_t C++
Здраствуйте, почему-то не получается записать в файл символы wchar_t, подскажите, пожалуйста, что я забыл #include "stdafx.h" #include <conio.h> #include <iostream> #include <fstream> #include <cwchar> #include <cwctype> using namespace std;
Напишите программу, выводящую на экран количество цифр в этом числе и сумму этих цифр C++
я начинающий! помогите! мне на екзам! Дано натуральное число а (a<100). Напишите программу, выводящую на экран количество цифр в этом числе и сумму этих цифр
C++ Использование разных типов указателей http://www.cyberforum.ru/cpp-beginners/thread223676.html
Здравствуйте! Программа должна засерать переменную n, а вместо этого она забивает мусором переменную upper. Можете подсказать в чём дело? // LayoutError - программа для представления // неаккуратного обращения с указателями #include <iostream> using namespace std; int main(int Argc, char* pszArgs) { setlocale(LC_ALL, "");
C++ Написать программу на строки, завтра защита Напишите , пожалуйста, программу на С. Завтра защита, выручайте! Вот задание: Дана строка. Найти в ней самую длинную подстроку, которая повторяется не менее двух раз. Пример: если дана такая строка asd25 2btr8 jdd25y Ответом будет: d25 Программа "CodeGear RAD Studio" написать в Console Application Пожалуйста с комментами! подробнее

Показать сообщение отдельно
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
04.01.2011, 03:02     Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Найти наименьший из его положительных элементов.
ForEveR, у тебя с СБШ получилось длиннее, чем без неё :) . А можно сделать эффективнее:
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
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
 
int main () {
    std::vector<int> numbers;
    
    std::cout << "Введите массив: ";
    std::copy(std::istream_iterator<int>(std::cin), std::istream_iterator<int>(), std::back_inserter(numbers));
    std::vector<int>::iterator minimum = numbers.begin();
    
    for (std::vector<int>::iterator i = numbers.begin(); i != numbers.end(); ++i) {
        if (*i > 0) {
            if (*minimum < 1) minimum = i;
            else if (*i < *minimum) minimum = i;
        }
    }
    
    if (minimum != numbers.end() && *minimum > 0) {
        std::cout << "Наименьший положительный элемент массива: " << *minimum << std::endl;
        
        std::sort(numbers.rbegin(), std::reverse_iterator<std::vector<int>::iterator>(minimum));
 
        std::cout << "Отсортированный массив: ";
        std::copy(numbers.begin(), numbers.end(), std::ostream_iterator<int>(std::cout, " "));
    } else std::cout << "В массиве нет положительных элементов." << std::endl;
 
    return 0;
}
 
Текущее время: 18:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru