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

Записи упорядочить по алфавиту

13.03.2015, 12:29. Показов 1254. Ответов 5
Метки нет (Все метки)

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
//#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string>
#include <iomanip>
using namespace std;
//#define N 3
 
struct note
{
    char name[100];
     char lastname[100];
    char phone[50];
    int date[3];
} info[8];   //структура
 
 
 
int main(void)
{
    const int N=3;
    setlocale (0,"Rus");
int i, j;
char phone[50];
note Note[N];
//Ввод данных
for( i=0; i<N; ++i )
{
    cout << "\n\t---- " << i+1 << " ---\nИмя :";
    
    cin >> info[ i ].name; 
    cout << "фамилия: ";
    cin >> info[ i ].lastname; 
 
    cout << "Номер телефона :";
    cin.ignore();
    cin.get( info[ i ].phone, 50 );
    cout << "Дата :\nЧисло >> ";
    cin >> info[ i ].date[ 0 ];
    cout << "Месяц >> ";
    cin >> info[ i ].date[ 1 ];
    cout << "Год >> ";
    cin >> info[ i ].date[ 2 ];
}
// по алфавиту
note tmp;
for( int t=0; t<N; t++)
 
    for( int i=0; i<N; i++)
        if ( Note[i].name[0] > Note[t].name[0] )
    {
    tmp = Note[i];
    Note[i]=Note[t];
    Note[t]=tmp;
}
cout << endl;
 
cout << "\n----------------------------------------------\n";
    for( i=0; i<N; i++)
    
       
        {
            cout << "Имя   " << setw(20) << Note[i].name << endl;
 
                cout << "фамилия: " << setw(20) << Note[i].lastname << endl
 
                 << "Дата рождения :" << endl
                 << setw(30) << "День  >> " << Note[i].date[0] << endl
                 << setw(30) << "Месяц >> " << Note[i].date[1] << endl
                 << setw(30) << "Год   >> " << Note[i].date[2] << endl;
            }
    
 
 
 
//Выбор по номеру телефона.
cout << "Введите номер телефона :";
cin.ignore();
cin.get(phone, 50);
for(i=0, j=0; i<N; i++)
    if(strcmp( info[ i ].phone, phone )==0)
        ++j;
if(j>0){
       
        cout << "\n----------------------------------------------\n";
    for( i=0; i<N; ++i){
        if(strcmp(info[i].phone, phone )==0)
        {
            cout << "Имя   " << setw(20) << info[i].name << endl;
 
                cout << "фамилия: " << setw(20) << info[i].lastname << endl
 
                 << "Дата рождения :" << endl
                 << setw(30) << "День  >> " << info[i].date[0] << endl
                 << setw(30) << "Месяц >> " << info[i].date[1] << endl
                 << setw(30) << "Год   >> " << info[i].date[2] << endl;
            }
        else continue;
        cout << endl;
        }
}else
       cout << "Номер " << phone << " Отсутствует в списке\n";
 
system ("Pause");
return 0;
}
Помогите найти ошибку в сортировке по алфавиту. Пожалуйста.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2015, 12:29
Ответы с готовыми решениями:

упорядочить по алфавиту
здравствуйте всем!помогуте пожалуйста решить задачу: дана фраза на английском языке из...

Упорядочить строку по алфавиту
В общем дана строка,состоящая из слов,разделенных через пробел. Надо упорядочить ее по алфавиту....

Упорядочить слова по алфавиту (строки)
Здравствуйте! Не могу пока осилить :wall:. Может у кого-то есть идеи по реализации ? (или уже...

Упорядочить символы строки по алфавиту
Здравствуйте! Я пытаюсь написать программу для сортировки символов в строке в алфавитном порядке, и...

5
7158 / 6133 / 2801
Регистрация: 14.04.2014
Сообщений: 26,455
13.03.2015, 12:36 2
Сравнение в 50-й строке делать через strcmp().
0
0 / 0 / 2
Регистрация: 05.01.2015
Сообщений: 74
13.03.2015, 12:51  [ТС] 3
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
//#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string>
#include <iomanip>
#include <algorithm>
using namespace std;
//#define N 3
 
struct note
{
    char name[100];
     char lastname[100];
    char phone[50];
    int date[3];
} info[8];   //структура
 
 
 
int main(void)
{
    const int N=2;
    setlocale (0,"Rus");
int i, j;
char phone[50];
note Note[N];
//Ввод данных
for( i=0; i<N; ++i )
{
    cout << "\n\t---- " << i+1 << " ---\nИмя :";
    
    cin >> info[ i ].name; 
    cout << "фамилия: ";
    cin >> info[ i ].lastname; 
 
    cout << "Номер телефона :";
    cin.ignore();
    cin.get( info[ i ].phone, 50 );
    cout << "Дата :\nЧисло >> ";
    cin >> info[ i ].date[ 0 ];
    cout << "Месяц >> ";
    cin >> info[ i ].date[ 1 ];
    cout << "Год >> ";
    cin >> info[ i ].date[ 2 ];
}
// по алфавиту
note tmp;
for( int t=0; t<N; t++)
 
    for( int i=0; i<N; i++)
        strcmp ( Note[i].name[0] > Note[t].name[0] ) ? true : false;
    {
    tmp = Note[i];
    Note[i]=Note[t];
    Note[t]=tmp;
}
cout << endl;
 
cout << "\n----------------------------------------------\n";
    for(int i=0; i<N; i++)
    
       
        {
            cout << "Имя   " << setw(20) << Note[i].name << endl;
 
                cout << "фамилия: " << setw(20) << Note[i].lastname << endl
 
                 << "Дата рождения :" << endl
                 << setw(30) << "День  >> " << Note[i].date[0] << endl
                 << setw(30) << "Месяц >> " << Note[i].date[1] << endl
                 << setw(30) << "Год   >> " << Note[i].date[2] << endl;
            }
    
 
 
 
//Выбор по номеру телефона.
cout << "Введите номер телефона :";
cin.ignore();
cin.get(phone, 50);
for(i=0, j=0; i<N; i++)
    if(strcmp( info[ i ].phone, phone )==0)
        ++j;
if(j>0){
       
        cout << "\n----------------------------------------------\n";
    for( i=0; i<N; ++i){
        if(strcmp(info[i].phone, phone )==0)
        {
            cout << "Имя   " << setw(20) << info[i].name << endl;
 
                cout << "фамилия: " << setw(20) << info[i].lastname << endl
 
                 << "Дата рождения :" << endl
                 << setw(30) << "День  >> " << info[i].date[0] << endl
                 << setw(30) << "Месяц >> " << info[i].date[1] << endl
                 << setw(30) << "Год   >> " << info[i].date[2] << endl;
            }
        else continue;
        cout << endl;
        }
}else
       cout << "Номер " << phone << " Отсутствует в списке\n";
 
system ("Pause");
return 0;
}
(51): error C2661: strcmp: нет перегруженной функции, принимающей 1 аргументов
(54): error C2065: t: необъявленный идентификатор
(55): error C2065: t: необъявленный идентификатор
0
7158 / 6133 / 2801
Регистрация: 14.04.2014
Сообщений: 26,455
13.03.2015, 13:17 4
Лучший ответ Сообщение было отмечено gleb414 как решение

Решение

if() куда дел?
C++
1
if (strcmp(Note[i].name, Note[t].name) > 0)
1
0 / 0 / 2
Регистрация: 05.01.2015
Сообщений: 74
13.03.2015, 13:38  [ТС] 5
Вот что выводит
Миниатюры
Записи упорядочить по алфавиту  
0
0 / 0 / 2
Регистрация: 05.01.2015
Сообщений: 74
13.03.2015, 13:58  [ТС] 6
Разобрался. Ошибки в 64-71.
Спасибо за помощь.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2015, 13:58

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

Упорядочить слова строки по алфавиту
Здравствуйте! Уважаемые форумчане, выручите, пролежал в больничке на этой теме, а закрыть семак...

Из списка фамилий упорядочить их по алфавиту
Из списка фамилий упорядочить их по алфавиту проверить написание большой буквы Добавлено...

Упорядочить список фамилий по алфавиту
Заданный список фамилий. Упорядочить их по алфавиту. Проверить написания первой большой буквы ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru