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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2019, 18:32   #1
maksgirya
Новичок
Джуниор
 
Регистрация: 27.09.2019
Сообщений: 2
Восклицание Код для задачи С++

Помогите с отладкой кода для задачи.
Задача:

В доме живет N жильцов. Однажды решили провести перепись всех жильцов данного дома и составили список, в котором указали возраст и пол каждого жильца. Требуется найти номер самого старшего жителя мужского пола.

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

Выходные данные
Выходной файл OUTPUT.TXT должен содержать номер самого старшего мужчины в списке. Если таких жильцов несколько, то следует вывести наименьший номер. Если жильцов мужского пола нет, то выведите -1.


4
25 1
70 1
100 0
3 1 2
2
25 0
25 1 2

Мой код:
Код:
#include <iostream>
using namespace std;
int main(){
int n,i,v,s,flag=0,i_min=100,v_max=0;
cin>>n;
for(i=1;i<=n;i++){
    cin>>v>>s;
    if(s==1) flag=1;
    if ((v>v_max)&&(s==1)){
        v_max=v;
        i_min=i;
    }



}
if(flag==0) cout<<-1;

cout<<i_min;


return 0;
}
Выдает ошибку во втором тесте, однако выходной ответ тот же самый. Подскажите что не так
maksgirya вне форума Ответить с цитированием
Старый 29.09.2019, 00:34   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от maksgirya Посмотреть сообщение
Код:
if(flag==0) cout<<-1;

cout<<i_min;
неверно.
нужно выводить или ответ или -1
а у Вас сначала выведется -1, потом i_min

попробуйте
Код:
if(flag==0) cout<<-1;
else
cout<<i_min;
ну и разумеется, в этой задаче можно обойтись без переменной flag
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите где можно найти задачи по C++, что бы задачи были начиная от простого и постепенно усложнялись. Тимох Общие вопросы C/C++ 1 12.09.2015 21:50
Составить математическую модель задачи задачи линейного программирования DemonXZ Помощь студентам 0 15.06.2013 12:02
Решается судьба.. Надо решить две задачи.Мне задачи, вам практика и мое уважение) romichj Общие вопросы C/C++ 3 30.03.2012 00:33
ребят я не могу понять как решать эти задачи!может кто помочь в решении представленной задачи? Andrusha07 Помощь студентам 0 09.03.2012 23:08