Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
rom4k102
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 5
1

Найти самого молодого родившегося осенью студента

15.10.2013, 22:57. Просмотров 1621. Ответов 5
Метки нет (Все метки)

помогите исправить код
данный код: найти самого молодого родившегося осенью
исправить: найти самого молодого
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
do {fl=0; 
for(i=0;i<n;i++)
if(x[i].year>x[i+1].year)
{ t=x[i]; x[i]=x[i+1]; x[i+1]=t; fl=1; }
else if(x[i].year==x[i+1].year)
{if(x[i].mon<x[i+1].mon)
{ t=x[i]; x[i]=x[i+1]; x[i+1]=t; fl=1; }
else if(x[i].mon==x[i+1].mon)
{if(x[i].day>x[i+1].day)
{t=x[i]; x[i]=x[i+1]; x[i+1]=t; fl=1; }}}
}while(fl==1);
for(i=0;i<n;i++)
if(x[i].mon==9||x[i].mon==10||x[i].mon==11)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2013, 22:57
Ответы с готовыми решениями:

Найти и вывести на экран самого молодого студента, родившегося осенью
Приветствую всех. Я на вашем форуме новенький, поэтому поправляйте, если что не так. Мне нужна...

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

Найти и вывести на экран самого молодого студента
Дан массив записей, содержащй сведения о студентах группы: фамилия и нициалы студента, дата...

Найти и вывести на экран самого молодого студента
Дан массив записей, содержащий сведения о студентах группы: фамилия и инициалы студента, Дата...

5
Folko
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
15.10.2013, 22:59 2
rom4k102, оформите, пожалуйста, в тегах и как то поприличнее. Разбираться трудно
0
rom4k102
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 5
15.10.2013, 23:11  [ТС] 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
do {fl=0; 
for(i=0;i<n;i++)
if(x[i].year>x[i+1].year)
{ t=x[i]; x[i]=x[i+1]; x[i+1]=t; fl=1; }
else if(x[i].year==x[i+1].year)
{if(x[i].mon<x[i+1].mon)
{ t=x[i]; x[i]=x[i+1]; x[i+1]=t; fl=1; }
else if(x[i].mon==x[i+1].mon)
{if(x[i].day>x[i+1].day)
{t=x[i]; x[i]=x[i+1]; x[i+1]=t; fl=1; }}}
}while(fl==1);
for(i=0;i<n;i++)
if(x[i].mon==9||x[i].mon==10||x[i].mon==11)
Добавлено через 43 секунды
Цитата Сообщение от Folko Посмотреть сообщение
rom4k102, оформите, пожалуйста, в тегах и как то поприличнее. Разбираться трудно
0
Folko
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
15.10.2013, 23:28 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
do
{
    fl=0; 
    for(i=0;i<n;i++)
        if(x[i].year>x[i+1].year)
        {
            t=x[i];
            x[i]=x[i+1];
            x[i+1]=t;
            fl=1;
        }
        else
        if(x[i].year==x[i+1].year)
        {
            if(x[i].mon<x[i+1].mon)
            {
                t=x[i];
                x[i]=x[i+1];
                x[i+1]=t;
                fl=1;
            }
            else
            if(x[i].mon==x[i+1].mon)
            {
                if(x[i].day>x[i+1].day)
                {
                    t=x[i];
                    x[i]=x[i+1];
                    x[i+1]=t;
                    fl=1;
                }
            }
        }
}
while(fl==1);
for(i=0;i<n;i++)
    if(x[i].mon==9||x[i].mon==10||x[i].mon==11)
Добавлено через 8 минут
rom4k102, сейчас попробую написать функцию. Я так понимаю, имеется несколько людей с датами рождения, среди которых надо найти самого молодого?
0
rom4k102
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 5
15.10.2013, 23:36  [ТС] 5
да ты прав) могу в лс скинуть тебе полностью программу и посмотришь
0
Folko
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
15.10.2013, 23:39 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

rom4k102, ориентируясь по заданию написал вот такое. Попробуй, проверь, вроде все правильно должно быть.

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
const int n = 10;
 
struct human {
    int day;
    int mon;
    int year;
}
 
int main ()
{
    human x[n];
    // заносим данные
    int min = 0;
    for (int i=1;i<n;i++)
    {
        if (x[i].year > x[min].year) min = i;
        if (x[i].year == x[min].year)
        {
            if (x[i].mon > x[min].mon) min = i;
            if (x[i].mon == x[min].mon)
            {
                if (x[i].day > x[min].day) min = i;         
            } 
        }
    }
}
min - номер в массиве самого молодого (с самой поздней датой)
n - размер массива
Забивание возрастов не написал, там уж на твое усмотрение. Протести, отпишись, получилось ли
0
15.10.2013, 23:39
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2013, 23:39

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти самого высокого и самого тяжелого студента в группах
Здравствуйте, Помогите, пожалуйста, с задачкой. Нужно решить через 3мерный массив. На первом...

Структура: найти самого молодого, возраст которого больше 18 С++
Структура содержит информацию об участниках спортивных соревнований: наименование страны, название...

Найти возраст самого старшего и самого молодого посетителей спортзала, а так же посчитать средний возраст посетителей
В спортзал ежедневно приходит какое-то количество посетителей. Необходимо предложить пользователю...

По списку студентов из файла найти самого молодого студента
Дан список студунтов в катором указан фамилия и год рождения студента Отпечатать список студентов...


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

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

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