Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2021, 14:24   #1
antonn_
Пользователь
 
Регистрация: 03.10.2021
Сообщений: 11
Вопрос Из файла целых чисел выбрать наибольшее из них

Здраствуйте, помогите пожалуйста с решением задачи(C++).

Задача:
Дан файл целых чисел. Выберите наибольшее из них, принадлежащее интервалу [a, b] Концы интервала a, b вводятся из стандартного устройства ввода.

Буду очень благодарен любой помощи, советам.

Код:
#include <iostream>
#include <algorithm>
#include <fstream>
 
using namespace std;
 
int main(int argc, char* argv[])
{
    ifstream in("input.txt");
 
    int num;
    while (in >> num)
    {
        cout << "Max = " << *max_element(arr, arr ) << endl;
    }
    getchar();
    return 0;
}
очень сильно прошу, помогите довести до ума
antonn_ вне форума Ответить с цитированием
Старый 29.11.2021, 15:09   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Непонятна сама постановка. "Файл целых чисел" - в текстовом виде, цифры - или действительно бинарный файл, заполненный целыми числами?
Сдутый первый попавшийся исходник наводит на мысли, что над ним и работать не пытались. Ну где хотя бы ввод границ интервала?
А решение звучит приблизительно так:
Код:
Num_max = a-1 ;
for (i=0;i<n;i++)
{
   tmp =  Mas[i] ;
   if  ((tmp>a) && (tmp<b) && (tmp>Num_max)) Num_max = Mas[i] ;
}
Если в Num_max так и осталось a-1 - это признак того, что ни одно число из массива в данный интервал не попало.

Последний раз редактировалось digitalis; 29.11.2021 в 22:47.
digitalis вне форума Ответить с цитированием
Старый 29.11.2021, 15:35   #3
antonn_
Пользователь
 
Регистрация: 03.10.2021
Сообщений: 11
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Непонятна сама постановка. "Файл целых чисел" - в текстовом виде, цифры - или действительно бинарный файл, заполненный целыми числами?
txt файл с числами
antonn_ вне форума Ответить с цитированием
Старый 29.11.2021, 15:45   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Ну дык считывай этот файл - и как указано выше...
digitalis вне форума Ответить с цитированием
Старый 29.11.2021, 21:31   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Сдутый первый попавшийся исходник
Студент хитрый зверь, если без своих наработок задачи не решают на форуме, то он найдет первый попавшийся код и выдаст за свою наработку. А вы доработайте этот код до такого состояния, чтобы он решал поставленную задачу
Arigato вне форума Ответить с цитированием
Старый 29.11.2021, 21:48   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

digitalis, если брать за основу ваш код, то еще нужно не забыть, что mas[0] может оказаться не из заданного интервала, и учесть это.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 29.11.2021, 22:44   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Да, это я лопухнулся. Исправил.
digitalis вне форума Ответить с цитированием
Старый 29.11.2021, 23:30   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Если так: Num_max = a-1 ;

То условие можно упростить:

if (tmp<b && tmp>Num_max) Num_max = tmp;
Arigato вне форума Ответить с цитированием
Старый 30.11.2021, 13:17   #9
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Yes. Канэчна !
Этак мы общими усилиями так отшлифуем прогу, что студеня... шуганут с зачёта по подозрению, что не сам. Я знаю такой прецедент
digitalis вне форума Ответить с цитированием
Старый 30.11.2021, 17:52   #10
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

создав массив через =случмежду(0;100)

Код:
'maxint.bas
open "massiv.txt" for input as #1
n=10:a=-1000:min=5:max=10
for i=1 to n
input #1, x: ? x
if x>=min then if x<=max then if x>a then a=x
next
?:? a
close: end
из qb64 qbasic переводим сами
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Осуществить ввод последовательности целых чисел. Определить, сколько из них и какие принимают наибольшее значение. Последовательно ALEXandr20333 C# (си шарп) 3 16.10.2014 05:38
Дано 15 целых чисел от 20 до 35. Определить сумму тех из них, которые не делятся на 5 Umka_Kitv Помощь студентам 2 13.03.2013 14:32
Дано 100 целых чисел. Определить сумму тех из них, которые кратны 7. Yana Bila Помощь студентам 15 06.03.2013 22:58
программа находит наибольшее чётное число в данном одномерном массиве целых чисел katya111 Паскаль, Turbo Pascal, PascalABC.NET 4 18.05.2011 15:35
программа считывающая пять целых чисел и определяющая, печатающая наибольшее и наименьшее число из них Syber Общие вопросы C/C++ 3 30.06.2008 22:39