С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Dasha-
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 5
#1

Сортировка строк по трем символам - C++

22.10.2013, 23:45. Просмотров 367. Ответов 2
Метки нет (Все метки)

Доброго времени суток! Нужна помощь в сортировке строк.
Дана структура, необходимо отсортировать телефонные номера по трем первым числам
Подскажите как сортировать, пожалуйста!
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
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <conio.h>
#include<clocale>
 
using namespace std;
 
struct note1
{char fam[15];
 char im[15];
 char tel[15];
 int data[3];};
 
struct note2
{char work[30];
 int sklad; };
 
struct note
{struct note1 n1; struct note2 n2; };
 
void menu();
void vivod(note *inf); 
void stel(note *inf); 
int i, j, o, t, n;
note inf[100];
 
void menu()
{ int a;
    cout<<endl;
    cout<<"Сортировки и поиск"<<endl
        <<"1) "<<endl
        <<"2) "<<endl
        <<"3) По номеру"<<endl
        <<"4) "<<endl
        <<"5) "<<endl;
    cin>>a;
    switch (a)
    {   case 1:
            //sdata(inf); break;
        case 2:
            //alfavit(inf); break;
        case 3:
            stel(inf); break;
        case 4:
            //simya(inf); break;
        case 5:
            //poshuk(); break;
        default:
            cout<<"Неверный выбор!"<<endl;
    }
}
 
void vivod(note *inf)
{
 for(i=0;i<n;i++){
  cout<<"Фамилия Имя"<<inf[i].n1.fam<<" iГ¬'Гї "<<inf[i].n1.im<<endl;
  cout<<"Телефон "<<inf[i].n1.tel<<endl;
  cout<<"Дата рождения "<<inf[i].n1.data[0]<<"."<<inf[i].n1.data[1]<<"."<<inf[i].n1.data[2]<<endl;
  cout<<"Профессия "<<inf[i].n2.work<<endl;
  cout<<"Состав семьи "<<inf[i].n2.sklad<<endl<<endl;}
 menu();
}
 
 
void stel(note *io_n)
{for(size_t i=0; i<n-1; i++){
  for (size_t j=i+1; j<n; j++){
    if ((io_n[i].n1.tel[0]&&(io_n[i].n1.tel[1])&&(io_n[i].n1.tel[2])) < (io_n[j].n1.tel[0])&&(io_n[j].n1.tel[1])&&(io_n[j].n1.tel[2]))
        { note tmp = io_n[i];
             io_n[i] = io_n[j];
             io_n[j] = tmp; }     
     }
 }
 vivod(io_n);
}
 
 
main()
{ setlocale(LC_ALL,"Russian"); 
  cout<<"Введите кол. записей = ";
  cin>>n;
  cout<<endl<<"Введите данные";
  cout<<endl;
  for(i=0;i<n;i++){
     cout<<"Фамилия Имя"<<endl;
     cin>>inf[i].n1.fam>>inf[i].n1.im;
     cout<<"Телефон"<<endl;
     cin>>inf[i].n1.tel;
     cout<<"Дата рождения"<<endl;
     cin>>inf[i].n1.data[0]>>inf[i].n1.data[1]>>inf[i].n1.data[2];
     cout<<"Профессия"<<endl;
     cin>>inf[i].n2.work;
     cout<<"Состав семьи"<<endl;
     cin>>inf[i].n2.sklad;}
 menu();
    
getch();
return 0;
}
Добавлено через 8 часов 30 минут
Забыла дописать, по убыванию сортирует правильно но если поменять в if < на > то вообще не работает, выдает то же самое
?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2013, 23:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка строк по трем символам (C++):

Вставить в матрицу строку из нулей после всех строк, номер которых кратен трем - C++
Дан Двумерный массив из 15 строк. Вставить в него строку из нулей после всех строк, номер которых кратен трем.

Сортировка строк матрицы C++ (перестановка строк) - C++
Помогите пожалуйста, в матрице из целых чисел поменять местами первую строку и строку, содержащую самый большой по абсолютной величине...

Сортировка строк - C++
В файле хранятся названия блюд. Каждая строка отдельное название. Написать программу, которая читает строки из файла в массив строк, и...

сортировка строк - C++
Помогите пожалйста,очень надо... Отсортировать строки текста по возрастанию и убыванию длин слов. В тексте несколько строк.

Сортировка строк - C++
Сколько букв &quot;У&quot; в введенном слове стоит на четных местах?

Сортировка строк - C++
Я уже голову ломаю над задачей где то месяц. У меня все никак не получается сделать сортировку что бы результаты в алфавитном порядке...

2
Warezovvv
9 / 9 / 2
Регистрация: 09.12.2012
Сообщений: 219
23.10.2013, 02:13 #2
Цитата Сообщение от Dasha- Посмотреть сообщение
Подскажите как сортировать, пожалуйста!
Не понял, ведь вы сами написали
Цитата Сообщение от Dasha- Посмотреть сообщение
необходимо отсортировать телефонные номера по трем первым числам

0
Dasha-
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 5
23.10.2013, 15:10  [ТС] #3
Нужно сортировать от меньшего к большему телефонные номера по первым трем цифрам.

Моя программа не сортирует, если поставить < выводит в обратном порядке, а если > тогда ничего не меняет
Я еще пробовала делать три цикла if но тоже ничего, не знаю как это делать, может нужно перевести строку в int, а как потом выделить три символа?
0
Миниатюры
Сортировка строк по трем символам  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2013, 15:10
Привет! Вот еще темы с ответами:

Сортировка строк - C++
есть матрица. нужно отсортировать ее по сторокам. Т.е. строки должны идти в порядке возрастания. Сравниваем строки по первому элементу....

Сортировка строк - C++
Есть n (1&lt;= n &lt;=100) строк у которых записано последовательность только чисел (например строка 0876 ). Нужно отсортировать их так, что-бы...

Сортировка строк - C++
#include &quot;stdafx.h&quot; #include &quot;string.h&quot; int _tmain(int argc, _TCHAR* argv) { char s,s1,s2; int i,j,l,k=0,a1,a2; ...

Сортировка строк - C++
Суть в том, что мне нужно отсортировать строки из файла в алфавитном порядке. Подобных тем много, но во всех используют статистические...


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

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

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