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

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

Войти
Регистрация
Восстановить пароль
 
Starstalk
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 9
#1

Структуры и массивы структур: найти самого старшего студента, родившегося летом - C++

11.11.2013, 17:03. Просмотров 893. Ответов 9
Метки нет (Все метки)

Нужна помощь с задачей: Найти и вывести на экран самого старшего студента родившегося летом.
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
#include <string>
#include <conio.h>
const L=20;
struct fio
{char fam[L];
char im[L];
char ot[L];
};
struct date
{int d,m,y;
};
struct student
{ fio f;
date dr;
char gr;
char nz;
};
void inputMasPerech(student x[],int &n);
void outputMasStudent(student x[],int n);
int sravnDate(date v,date w);
 
void inputMasPerech(student x[],int &n)
{ int j,i,fl;
cout<<"n="; cin>>n;
for (i=0; i<n; i++)
void inputMasStudent(student x[],int &n);
{int i;
cout<<"kol-vo students";cin>>n;
for (i=0; i<n; i++)
{cout<<"familia";cin>>x[i].f.fam;
cout<<"Imya";cin>>x[i].f.im;
cout<<"otchestvo";cin>>x[i].f.ot;
cout<<"gruppa";cin>>x[i].gr;
cout<<"nomer zachetki";cin>>x[i].nz;
}
cout<<"\n vvod zaveshen:";getch();
}
 
void outputMasStudent(student x[],int n);
{int i;
for(i=0;i<n;i++)
if(a[i].dr.m==6 || a[i].dr.m==7 || a[i].dr.m==8)
cout<<x[i].f.fam<<" "<<x[i].f.im<<" "<<x[i].f.ot<<" "<<x[i].dr.d<<"."<<x[i].dr.m<<"."<<x[i].dr.y<<endl;
getch();
}
 
int sravnDate(date v,date w)
{if (v.y<w.y)return-1;
if (v.m<w.m)return-1;
if (v.d<w.d)return 1;
}
 
void main()
{const int N=10;
student a[N],b[N];
int m,b,i,l;
date minDate;
l=0;
for(i=0;i<n;i++)
if(a[i].dr.m==6 || a[i].dr.m==7 || a[i].dr.m==8){b[l]=a[i]; l++);};
if(l==0){cout<<"\n letnih net:"; getch();}
cout<<"\n letnie:";
outputMasStudent(b,l);
minDate=b[0].dr;
for(i=0;i<n;i++)
if(sravnDate(b[i].dr,minDate)<0)minDate=b[i].dr;
cout<<"\n starshie studenti rodivshesya letom:";
for(i=0;i<n;i++)
if(sravnDate(b[i].dr,minDate)==0) outputStudent(b[i]);
getch();
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2013, 17:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структуры и массивы структур: найти самого старшего студента, родившегося летом (C++):

Найти самого молодого родившегося осенью студента - C++
помогите исправить код данный код: найти самого молодого родившегося осенью исправить: найти самого молодого do {fl=0; ...

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

Структуры. Найти самого старшего мужчину - C++
Используя записи с полями: дата - с полями число, месяц, год; анкета - с полями фамилия, пол, дата рождения в массиве из 15 элементов типа...

Найти среди людей самого старшего и самого тяжелого - C++
Здраствуйте. Есть такое задание: нужно с помощью классов создать 100 человек с параметрами вес и возраст, после чего найти самого...

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

Функции над полями структуры - Поиск самого высокого студента - C++
Всем привет! Помогите пожалуйста добавить в мой код следующие функции:1) Поиск самого высокого студента 2) Самого тяжелого(Вес) и 3)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ABKA
7 / 7 / 0
Регистрация: 06.11.2013
Сообщений: 50
11.11.2013, 17:17 #2
И в чем твоя проблема?
0
Starstalk
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 9
11.11.2013, 17:21  [ТС] #3
да прога не запускается незнаю в чем проблема
0
n1kolasM
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 4
11.11.2013, 17:25 #4
Выдаёт какую-нибудь ошибку?
0
Starstalk
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 9
11.11.2013, 17:28  [ТС] #5
нет не выдает
0
ABKA
7 / 7 / 0
Регистрация: 06.11.2013
Сообщений: 50
11.11.2013, 17:28 #6
В смысле не компилируется или выдает неправильный результат? или компилируется, но не запускается?..
0
Starstalk
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 9
11.11.2013, 17:29  [ТС] #7
компилирует но не запускается
0
ABKA
7 / 7 / 0
Регистрация: 06.11.2013
Сообщений: 50
11.11.2013, 17:30 #8
А, я попробовал скомпилировать) феерическая программа) учи синтаксис, товарищ

Добавлено через 20 секунд
он НЕ компилирует
0
n1kolasM
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 4
11.11.2013, 17:42 #9
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream>
#include <string>
using namespace std;
const int L=20;
const int N=10;
 
struct fio
{char fam[L];
char im[L];
char ot[L];
};
 
struct date
{int d,m,y;
};
 
struct student
{ fio f;
date dr;
char gr;
char nz;
};
student a[N];
void inputMasPerech(student x[],int &n);
void outputMasStudent(student x[],int n);
int sravnDate(date v,date w);
void inputMasStudent(student x[],int &n);
 
void inputMasPerech(student x[],int &n){ 
int j, i, fl;
cout<<"n="; cin>>n;
for (i=0; i<n; i++){
cout<<"kol-vo students";cin>>n;
for (i=0; i<n; i++){
cout<<"familia";cin>>x[i].f.fam;
cout<<"Imya";cin>>x[i].f.im;
cout<<"otchestvo";cin>>x[i].f.ot;
cout<<"gruppa";cin>>x[i].gr;
cout<<"nomer zachetki";cin>>x[i].nz;
}
cout<<"\n vvod zaveshen:";
}}
 
void outputMasStudent(student x[],int n)
{
int i;
for(i=0;i<n;i++)
if(a[i].dr.m==6 || a[i].dr.m==7 || a[i].dr.m==8)
cout<<x[i].f.fam<<" "<<x[i].f.im<<" "<<x[i].f.ot<<" "<<x[i].dr.d<<"."<<x[i].dr.m<<"."<<x[i].dr.y<<endl;
 
}
 
int sravnDate(date v, date w){ 
if (v.y<w.y) return-1;
if (v.m<w.m) return-1;
if (v.d<w.d) return 1;
}
 
int main (){ 
 
student b[N];
int m,i,l;
date minDate;
l=0;
for(i=0;i<N;i++)
if(a[i].dr.m==6 || a[i].dr.m==7 || a[i].dr.m==8){b[l]=a[i]; l++;};
if(l==0){cout<<"\n letnih net:"; }
cout<<"\n letnie:";
outputMasStudent(b,l);
minDate=b[0].dr;
for(i=0;i<N;i++)
if(sravnDate(b[i].dr,minDate)<0)minDate=b[i].dr;
cout<<"\n starshie studenti rodivshesya letom:";
for(i=0;i<N;i++)
if(sravnDate(b[i].dr,minDate)==0) 
outputStudent(b[i]);
 
}

Что понял поправил
0
newyork7776
349 / 342 / 80
Регистрация: 21.05.2013
Сообщений: 1,311
Завершенные тесты: 1
12.11.2013, 17:09 #10
напиши состав структурки

Добавлено через 19 минут
Кликните здесь для просмотра всего текста
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <cstdlib>
#include <cstring>
 
using namespace std;
 
struct student
{
    char name[100];
    char time[100];
    char age[10];
};
 
void print(const student &m)
{
    cout << "Name = "    << m.name    << " "
         << "Time = "    << m.time    << " "
         << "Age = "     << m.age     << "\n";
}
 
void init(student &m)
{
    cout << "Name: ";
    cin >> m.name;
    cout << "Time [winter,spring,summer,autumn]: ";
    cin >> m.time;
    cout << "God: ";
    cin >> m.age;
}
 
void mySort(student *arr, const int n)
{
    // пузырьковая сортировка. Сортируем по полю age
    for (int i=0; i < n; i++)
        for (int j=n-1; j > i; j--)
            if (strcmp(arr[i].age, arr[j].age) > 0)
            {
                // меняем местами
                student tmp = arr[i]; // временная переменная
                arr[i] = arr[j];
                arr[j] = tmp;
            }
}
 
int main()
{
    const int size = 10;
    student sArr[size];
    int n;
    cout << "Enter number N = ";cin >> n;
    // в цикле инициализируем структуры
    for (int i=0; i < n; i++)
        init(sArr[i]);
 
    for (int i=0; i < n; i++)
        print(sArr[i]); // вызываем функцию print, передавая элемент массива sArr[i]
 
    const char key[7]="summer";
    mySort(sArr, n);
    cout << "\nSorted:\n";
    for (int i=0; i < n; i++)
        print(sArr[i]); // вызываем функцию print, передавая элемент массива sArr[i]
    cout << "\nAnswer\n";
    print(sArr[n-1]);
    system("pause"); // пауза
}

наверное правельно
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2013, 17:09
Привет! Вот еще темы с ответами:

Найти самого старшего человека из списка - C++
Написать програму, вход/выход, на вход/выход принимает количество людей какие подали заявления, потом ввод имени столько раз сколько...

Число. Вывести только цифры самого младшего и самого старшего разряда - C++
Дано n-значное целое число введеное с клавиатуры. Вывести только цифры самого младшего и самого старшего разряда.

Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры) - C++
Есть у меня вот такая структура, например struct Subject { int cost; int Volume; }; Потом создаю экземпляр, Subject G; ...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.11.2013, 17:09
Ответ Создать тему
Опции темы

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