Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Melvil
48 / 47 / 13
Регистрация: 20.05.2015
Сообщений: 251
#1

Арбузы (оптимальный поиск min и max) - C++

14.07.2015, 19:00. Просмотров 577. Ответов 3
Метки нет (Все метки)

Всем привет, решил задачку, однако с использованием вектора. Возможно ли решение без него? Я понимаю, что можно создать огромный массив, но нельзя ли обойтись и без этого тоже?

Задача:

Кликните здесь для просмотра всего текста
Иван Васильевич пришел на рынок и решил купить два арбуза: один для себя, а другой для тещи. Понятно, что для себя нужно выбрать арбуз потяжелей, а для тещи полегче. Но вот незадача: арбузов слишком много и он не знает как же выбрать самый легкий и самый тяжелый арбуз? Помогите ему!

Входные данные

В первой строке входного файла INPUT.TXT задано одно число N – количество арбузов. Вторая строка содержит N чисел, записанных через пробел. Здесь каждое число – это масса соответствующего арбуза. Все числа натуральные и не превышают 30000.

Выходные данные

В выходной файл OUTPUT.TXT нужно вывести два числа через пробел: массу арбуза, который Иван Васильевич купит теще и массу арбуза, который он купит себе.


Моё решение:

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
#include <iostream>
#include <vector>
using namespace std;
 
void main()
{
    int N;
    cin >> N;
    vector<int> mas(N);
    for (int i = 0; i < N; i++)
    {
        cin >> mas[i];
    }
    int max = 0, min = 50000;
    for (int i = 0; i < N; i++)
    {
        
        if (mas[i] > max)
            max = mas[i];
        if (mas[i] < min)
            min = mas[i];
    }
    cout << min << endl;
    cout << max << endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2015, 19:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Арбузы (оптимальный поиск min и max) (C++):

Найти max и min, если min левее max, то среднее арифметическое между ними - C++
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; void main() { int n,a; int...

Поиск min и max - C++
Здравствуйте, подскажите пожалуйста, есть ли встроенные функции С++ для поиска наименьшего и наибольшего элемента любого типа, знаю что...

Поиск max и min с stack - C++
ПОдскажите как реализовать сам поиск вообще не представляю еще могу попробовать найти 1 из 2х но оба непонимаю как ведь после проверки 1...

Поиск max или min элемента указанного столбца матрицы - C++
Программа должна выполнять следующие функции: а) вводит с клавиатуры или читает из файла двумерный массив вещественных чисел размерностью...

Попытка сделать поиск max и min значений массива через функцию - C++
Стандартная задача - найти максимальное и минимальное значения в массиве из случайных элементов. Впервые пытаюсь передавать массив в...

Даны целые числа а, b, с. Вычислить в-сумму у = min (a, b + c) + max (ac, b)-min (a2, c) - C++
Даны целые числа а, b, с. Вычислить в-сумму у = min (a, b + c) + max (ac, b)-min (a2, c). Как эту программу реализовать в код?

3
D_Gon
24 / 13 / 5
Регистрация: 09.07.2015
Сообщений: 47
14.07.2015, 20:30 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main(){
 
    int N, input;
    cin >> N;
 
    int max = 0, min = 50000;
    for ( int i = 0; i < N; i++ ){
        cin >> input;
        if ( input > max )
            max = input;
        if ( input < min )
            min = input;
    }
 
    cout << min << endl;
    cout << max << endl;
}
0
NewBi
1 / 1 / 0
Регистрация: 20.04.2015
Сообщений: 73
14.07.2015, 23:00 #3
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
#include <iostream>
#include <fstream>
 
using namespace std;
 
 
int main ()
{
    
    ifstream infile;
    ofstream outfile;
    
    infile.open("input.txt");
    
    int N;
    infile>>N;
    
    int arr[N];
    
    for(size_t i(0);i<N;i++)
    {
        infile>>arr[i];
    }
    
    
    int max=arr[0];
    int min=arr[0];
    
    for(size_t i(0);i<N;i++)
    {
        if(arr[i]>max)
        {
            max=arr[i];
        }
        if(arr[i]<min)
        {
            min=arr[i];
        }
    }
    
    outfile.open("output.txt");
    outfile<<"MAX= "<<max<<endl<<"MIN= "<<min<<endl;
 
    return 0;
}
В input.txt:
7
12 15 11 5 3 6 21

В output.txt:
MAX= 21
MIN= 3
0
vua72
417 / 417 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
15.07.2015, 01:13 #4
Melvil, а что вам мешает сравнивать массы при считывании без записи в массив? Но это чисто технически.
По условию масса арбуза до 30000 чего????

Не по теме:


Скорее всего он купит первые два различ по массе арбуза. если жадный (а он жадный по условию), то теще не купит, а себе первый попавшийся. Но скорее всего не купит ни себе, ни теще, надоест перевешивать.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2015, 01:13
Привет! Вот еще темы с ответами:

Найти min(max(x, y), max(x, z), max(z, d) - C++
Даны различные действительные числа x, y, z, d. Найти min(max(x, y), max(x, z), max(z, d)).

Найти max {min (a, b), min (c, d)}. - C++
Найти max {min (a, b), min (c, d)}.

min(x,y) max(x,y) - C++
заданы действительные числа х, у. получить min(x,y) max(x,y)?

max i min - C++
как такое сделать?


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

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

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