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

Арбузы

29.09.2010, 15:05. Показов 13559. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Арбузы
(Время: 1 сек. Память: 16 Мб Сложность: 14%)

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

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

В выходной файл OUTPUT.TXT нужно вывести два числа через пробел: массу арбуза, который Иван Васильевич купит теще и массу арбуза, который он купит себе.
http://acmp.ru/?main=task&id_task=81

В этой задаче из представленных n чисел следует выбрать наибольшее и наименьшее число, а затем просто их вывести. Для поиска максимального элемента следует определить переменную max, в которую предварительно можно занести наименьшее возможное значение, 0 например (ведь все числа натуральные, т.е. больше нуля). Далее следует считывать в переменную x текущее значение и проверять: не больше ли оно ранее найденного, которое как раз храниться в max. Если да, то будем записывать его в max. Таким образом, по окончании процесса мы получим в max наибольшее значение. Поиск минимального элемента происходит аналогично. Заметим, что в этой задаче можно обойтись без использования массивов.

Рассмотрим алгоритм решения этой задачи:
read(n);
max=0; min=32000;
for i=1..n{
read(x);
if(x > max) max=x;
if(x < min) min=x;
}
write(min,' ',max);

На самом деле в этой задаче может возникнуть непонятный момент: что делать, когда арбуз всего один? Кому его нужно купить: себе или теще? Если рассуждать разумно (по жизни), то конечно лучше купить его себе, а теща обойдется и без арбуза. Но если следовать условиям задачи получается, что этот арбуз будет адресован как Ивану Васильевичу, так и его теще и в данном случае нужно выводить два одинаковых числа в качестве ответа.
http://acmp.ru/index.asp?main=solution&id_task=81


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
#include<math.h>
int math(void)
freopen("input.txt","r",stdin);
frreopen("output.txt",w,stdout);
int n,x,max,min;
{
scanf(n);
max=0;
min=32000;
for(i=1;i<n;i++)
{
scanf(x);
if (x>max) max=x;
if (x<min) min=x;
}
printf("%f, ,%f",&min,&max);
return 0;
}
вот что я пишу а мне выдает
unable to open include file 'STDIO.H'
unable to open include file 'MATH.H'
Declaration syntax error
хотя и стдио и матх у меня есть и находятся в папке C:\Borland\BC\INCLUDE (программа в папке C:\Borland\BC\BIN) если переместить их в папку с C:\Borland\BC\BIN и писать не <stdio.h> а "stdio.h" то еще больше ошибок
оч нужно, я не хочу 2 получить!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.09.2010, 15:05
Ответы с готовыми решениями:

Задача про арбузы и дыни
На базу завезли С кг арбузов по цене 2 руб. за килограмм и В кг дынь по цене 5 руб. за килограмм. Определить, сколько всего стоят арбузы и...

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

Ребус: "Люба + Любит = Арбузы". В чем ошибка?
include&lt;iostream&gt; using namespace std; int mein() { long int luba,lubit,arbuzi; int i,r,j,a; ...

7
 Аватар для Chainyk
15 / 15 / 2
Регистрация: 24.08.2010
Сообщений: 94
29.09.2010, 16:23
Не помню где точно, (сейчас не установлен такой древний компилятор), но нужно в опциях прописать путь к библиотекам. К каталогу либ и еще какому-то. Когда найдете в опциях, поймете
0
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 4
29.09.2010, 16:31  [ТС]
а решение не подскажеш? или я все правильно написал?
0
 Аватар для Chainyk
15 / 15 / 2
Регистрация: 24.08.2010
Сообщений: 94
29.09.2010, 17:08
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include<stdio.h>
#include<math.h>
 
int main()
{
    FILE * fin, *fout;
    fin = fopen("input.txt","r");
    fout = fopen("output.txt","w");
    int n,k=1,max,min;
    max=0;
    min=32000;
    while (k!=-1)
    {
        k=fscanf(fin,"%d",&n);
        if (n>max) max=n;
        if (n<min) min=n;
    }
    fprintf(fout,"%d %d",min,max);
    fclose (fin);
    fclose (fout);
    return 0;
}
Обрати внимание! Должна присутствовать ф-ия main! Как используються fprintf и fscanf. И вообще как отличаеться мое решение от твоего. Прочти какую-то литературу по С/С++
0
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 4
29.09.2010, 17:51  [ТС]
я лит-ры по С++ никакой не читал потому что я в школе учусь и мне не сильна нужна эта информатика, так что мне нада хотя бы 4 получить чтоб атестат не портить

Добавлено через 8 минут
надеюсь я тебя не обидел тем что я так не очень хорошо отношусь к С++, и если можеш реши пожалуйста еще ету задачку
В отделе работают 3 сотрудника, которые получают заработную плату в рублях. Требуется определить: на сколько зарплата самого высокооплачиваемого из них отличается от самого низкооплачиваемого.
Входные данные

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

В выходной файл OUTPUT.TXT необходимо вывести одно целое число — разницу между максимальной и минимальной зарплатой.
В данной задаче необходимо найти наибольшее и наименьшее значение и вывести их разность. Для этого проще всего упорядочить заданные числа A, B и C в порядке неубывания (A<=B<=C) и тогда значение C-A будет решением этой задачи. Для этого можно было бы прибегнуть к принципу чайника и отсортировать массив из трех элементов методом "пузырька", например. Но это решение не самое разумное в данном случае.

Здесь мы можем применить тот же метод "пузырька", но без циклов и массивов. Действительно, за 3 сравнения можно достичь желаемого результата. Сначала сравнивая А и B мы можем в A поместить наименьшее из них, поменяв их местами. Далее сравнивая A и C мы поместим в А наименьший из 3х чисел элемент. А после сравнения B и C в C получим наибольший. Описанный выше алгоритм можно представить в виде следующей блок-схемы:


На всякий случай напомним, как с помощью третьей переменной можно поменять значения переменных местами:
x=a; a=b; b=x;

В языке Си для различных целочисленных переменных a и b можно использовать более красивую и короткую запись без использования третьей переменной:
a^=b^=a^=b;
я ее решил, но похоже не все случаи разобрал и поэтому мне поставили -
0
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
30.09.2010, 01:02
vitalushechka, для решения второй задачи используй алгоритм первой задачи про арбузы. Найдешь самую большую зарплату и самую маленькую. А потом выведешь на экран разницу между ними и все.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
30.09.2010, 01:54
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
#include <iostream>
#include <fstream>
#include <algorithm>
    
int main(){
    std::ifstream ifs("input.txt");
    if ( ! ifs.is_open() ){
        std::cerr << "Can't open input file!" << std::endl;
        return 1;
    }
    int cnt;
    ifs >> cnt;
    int * arr = new int [ cnt ];
    for ( int i = 0; i < cnt; ++i )
        ifs >> arr[i];
    ifs.close();
    
    std::ofstream ofs("output.txt");
    if ( ! ofs.is_open() ){
        std::cerr << "Can't open output file!" << std::endl;
        return 1;
    }
    ofs << *std::min_element(arr, arr + cnt) << ' ' << *std::max_element(arr, arr + cnt) << std::endl;
    ofs.close();
    delete [] arr;
    
    return 0;
}

Вот, правда, в борланд с++ может и не сложиться...
1
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 4
30.09.2010, 07:33  [ТС]
В доме живет N жильцов. Однажды решили провести перепись всех жильцов данного дома и составили список, в котором указали возраст и пол каждого жильца. Требуется найти номер самого старшего жителя мужского пола.
Входные данные

Во входном файле INPUT.TXT в первой строке задано натуральное число N – количество жильцов (N<=100). В последующих N строках располагается информация о всех жильцах: каждая строка содержит два целых числа: V и S – возраст и пол человека (1<=V<=100, S – 0 или 1). Мужскому полу соответствует значение S=1, а женскому – S=0.
Выходные данные

Выходной файл OUTPUT.TXT должен содержать номер самого старшего мужчины в списке. Если таких жильцов несколько, то следует вывести наименьший номер. Если жильцов мужского пола нет, то выведите -1.
эту решите?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.09.2010, 07:33
Помогаю со студенческими работами здесь

Арбузы
Можете помочь решить. На прилавке расположены в ряд N арбузов. Вес каждого арбуза, кроме крайних, на 100 граммов меньше, чем среднее...

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

Задача про арбузы
Здравствуйте, имеется задача с e-olymp. Называется арбузы. Условие: На прилавке в один ряд лежат n арбузов. Вес каждого арбуза, кроме...

Задача: "Арбузы"
Две машины заполнены арбузами. В одной машине N (1&lt;N&lt;50) арбузов, а в другой - M (1&lt;M&lt;50). Вес каждого арбуза известен. Сколько арбузов...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru