Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Nomad 94
1 / 1 / 2
Регистрация: 02.04.2012
Сообщений: 46
1

Структуры данных. Написать программу, позволяющую определить, есть ли в школе в каких-либо классах однофамильцы

26.06.2013, 19:08. Просмотров 1161. Ответов 2
Метки нет (Все метки)

Написать программу, позволяющую определить, есть ли в школе в каких-либо классах однофамильцы. Данные об ученике идут в следующем порядке: имя, фамилия, год обучения, буква. Данные о раз¬ных учениках идут в некоторой очередности, о которой заранее ничего не известно.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2013, 19:08
Ответы с готовыми решениями:

Определить, есть ли в школе в каких-либо параллельных классах однофамильцы
Помогите продолжить, хотя бы подсказку дать:sorry: Даны сведения о школьниках: фамилия, имя,...

Выяснить, есть ли однофамильцы в каких-либо параллельных классах
3)Сведения об ученике состоят из его имени, фамилии и названия класса(Года обучения и буквы), в...

Определить, есть ли в школе в 8х классах однофамильцы.
1)составить программу, позволяющую определить, есть ли в школе в 8х классах однофамильцы. Данные об...

Определить, есть ли в школе в 8-х классах однофамильцы
Помогите решить задачу на тему "Обработка записей": Составьте программу, позволяющую определить,...

2
Pakisan
14 / 14 / 10
Регистрация: 04.01.2013
Сообщений: 61
27.06.2013, 15:30 2
Лучший ответ Сообщение было отмечено Nomad 94 как решение

Решение

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
#include <iostream>
#include <cstring>
#include <stdio.h>
using namespace std;
 
int size = 7;
 
struct Students
{
    char name[20];
    char Surname[20];
    int  year;
    char Letter;
};
 
void full(Students *m, int size)
{
    for(int i=0; i!=size; i++)
    {
        gets(m[i].name);
    }
}
 
int compare(Students *m, int size)
{
    int match = 0;
 
    for(int x=0; x!=size; x++)
    {
        for(int i=0; i!=size; i++)
        {
            if(i == x)
                break;
            else
                if(!strcmp(m[x].name, m[i].name))
                {
                    match++;
                    cout<<m[x].name<<' '<<m[i].name<<'\n';
                }
        }
    }
 
    return match;
}
 
int main()
{
    Students m[size];
 
    full(m, size);
    cout<<compare(m, size);
 
    return 0;
}
Tom
Jhon
Sara
Heli
Tom
Jhon
Sara
Tom Tom
Jhon Jhon
Sara Sara
3
Добавлено через 13 часов 18 минут
Извини, вчера ночью слил не рабочий алгоритм(
Под катом код с выводом отладочной инфы
Кликните здесь для просмотра всего текста
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 <cstring>
#include <stdio.h>
using namespace std;
 
const int size = 12;
 
struct Students
{
    char name[20];
    char Surname[20];
    int  year;
    char Letter;
};
 
void full(Students *m, int size)
{
    for(int i=0; i!=size; i++)
    {
        cout<<"Name: ";
        gets(m[i].name);
    }
}
 
int compare(Students *m, int size)
{
    int match = 0, _match=0;
    int i=0, _i = 0;
 
    for(int x=0; x!=size; x++)
    {
        for(int y=0; y!=size; y++)
        {
            if(x==y)
                break;
            while(m[x].name[i] && m[y].name[_i])
            {
                if(m[x].name[i] == m[y].name[_i])
                    _match++;
                _i++,i++;
            }
            if(_match == i)
                match++;
            _match = _i =  i = 0;
            while(m[x].name[i] && m[y].name[i])
            {
                cout<<m[x].name[i];
                i++;
            }
            cout<<"-";
            i=0;
            while(m[x].name[i] && m[y].name[i])
            {
                cout<<m[y].name[i];
                i++;
            }
            cout<<" - "<< x+1 << ' ' << y+1;
            cout<<"\n";
            i=0;
        }
    }
 
    if(((size-1)*size)/2 == match)
        match = size;
 
    return match;
}
 
int main()
{
    Students m[size];
 
    full(m, size);
    cout<<compare(m, size);
 
    system("pause");
    return 0;
}

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
#include <iostream>
#include <cstring>
#include <stdio.h>
using namespace std;
 
const int size = 12;
 
struct Students
{
    char name[20];
    char Surname[20];
    int  year;
    char Letter;
};
 
void full(Students *m, int size)
{
    for(int i=0; i!=size; i++)
    {
        cout<<"Name: ";
        gets(m[i].name);
    }
}
 
int compare(Students *m, int size)
{
    int match = 0, _match=0;
    int i=0, _i = 0;
 
    for(int x=0; x!=size; x++)
    {
        for(int y=0; y!=size; y++)
        {
            if(x==y)
                break;
            while(m[x].name[i] && m[y].name[_i])
            {
                if(m[x].name[i] == m[y].name[_i])
                    _match++;
                _i++,i++;
            }
            if(_match == i)
                match++;
            _match = _i =  i = 0;
            i=0;
        }
    }
 
    if(((size-1)*size)/2 == match)
        match = size;
 
    return match;
}
 
int main()
{
    Students m[size];
 
    full(m, size);
    cout<<compare(m, size);
 
    system("pause");
    return 0;
}
1
Nomad 94
1 / 1 / 2
Регистрация: 02.04.2012
Сообщений: 46
27.06.2013, 15:47  [ТС] 3
Спасибо большое очень вы меня выручили
0
27.06.2013, 15:47
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2013, 15:47

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

Определить, есть ли в школе в восьмых классах однофамильцы
составьте программу, позволяющую определить, есть ли в школе в восьмых классах однофамильцы. Данные...

Выяснить, имеются ли однофамильцы в каких либо параллельных классах
Доброго времени суток! Условия задачи: Сведения об ученике состоят из его имени и фамилии и...

Выяснить имеются ли однофамильцы в каких-либо параллельных классах
Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы) в...

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


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

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

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