![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
Andrewshkovskii |
![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
Сообственно хотелось бы узнать : КАК?!
ничего в голову не приходит..разве что каждой букве присвоить свой номер(А=1,Б=2) и т.д и сортировать по сумме...Может кто-нибудь подкинет ссылочку или расскажет? ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Собственно, зачем? Использовать strcmp для сравнения двух строк уже нельзя?
![]() |
Andrewshkovskii |
![]()
Сообщение
#3
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
Извняюсь,но я не пойму толком как он работает..В хелпе читаю,не понятно=/
ну и хотелось бы увидеть пример сортировки с помощью strcmp .. я понимаю что очень наглый:)но пожалуйста.. ![]() ах да,забыл добавить,надо отсортировать массив строк.массив такой же,который был в моем топике днем:)Т.Е надо выдать на печать фамилии упорядоченые по алфовиту. Сообщение отредактировано: Andrewshkovskii - 23.12.2007 23:33 |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
А чего ты в той же теме вопрос не задал?
Пузырьковая Сортировка в C/C++ (To moders: объедините, please, эти 2 темы, одна - логическое продолжение второй) Вот, я набросал программку, которую можно гонять на предмет сортировки разных полей записи (тем более, что меняется-то на самом деле только одна строка, сравнение элементов): #include <string.h>
#include <stdio.h>
const int max_name = 10;
const int max_prim = 10;
struct my_s {
char FIO[max_name];
char prim[max_prim];
int vball;
int ekz[5];
int zach[3];
float sball;
};
const int n = 5;
my_s tabl1[n] = {
{"aaafb", "bbbbb", 1, {2, 2, 2, 2, 2}, {3, 3, 3}, 2.2},
{"aabba", "bbbbb", 1, {2, 2, 2, 2, 2}, {3, 3, 3}, 6.2},
{"accaa", "bbbbb", 1, {2, 2, 2, 2, 2}, {3, 3, 3}, 8.2},
{"aaagg", "bbbbb", 1, {2, 2, 2, 2, 2}, {3, 3, 3}, 4.2},
{"aabaa", "bbbbb", 1, {2, 2, 2, 2, 2}, {3, 3, 3}, 1.2}
};
int main() {
for(int i = 0; i < n; i++) {
printf("%s %s %lf\n", tabl1[i].FIO, tabl1[i].prim, tabl1[i].sball);
}
int is = 1;
while(is) {
is = 0;
for (int i = n - 1; i > 0; i--)
if(strcmp(tabl1[i].FIO, tabl1[i-1].FIO) < 0) {
my_s buf;
memmove((void*)(&buf), (void*)(&tabl1[i]), sizeof(my_s));
memmove((void*)(&tabl1[i]), (void*)(&tabl1[i - 1]), sizeof(my_s));
memmove((void*)(&tabl1[i - 1]), (void*)(&buf), sizeof(my_s));
is = 1;
}
}
printf("\n");
for(int i = 0; i < n; i++) {
printf("%s %s %lf\n", tabl1[i].FIO, tabl1[i].prim, tabl1[i].sball);
}
return 0;
}
|
Andrewshkovskii |
![]()
Сообщение
#5
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
хм...спасибо за ответы в двух темах.помогло:)только сортировку я другую написал(ну для моего случая).
|
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 19:57 |