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

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

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

сортировка - C++

28.12.2010, 17:04. Просмотров 309. Ответов 5
Метки нет (Все метки)

Выбрать из строки буквы и отсортировать их в алфавитном порядке
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2010, 17:04     сортировка
Посмотрите здесь:

Сортировка выбором, сортировка вставкой, сортировка заменой, сортировка обменом ("пузырьковая" сортировка) - C#
Создать класс, содержащий массив и реализующий алгоритмы сортировки и бинарного поиска в этом массиве. Класс описать с помощью...

Блок схема.Сортировка «Пузырьком», Сортировка методом «Последовательных перестановок», Сортировка «Вставками» - Pascal
Помогите, нужны блок схемы Сортировка «Вставками» Program Vstavka; uses dos; Type mass=array of integer; Var i,b,n,j,a:...

Разработать программу сортировки: сортировка перестановкой, сортировка вставкой, быстрая сортировка - Prolog
Задание: Разработать программу сортировки: - сортировка перестановкой - сортировка вставкой - быстрая сортировка

1)Бинарный поиск 2)Сортировка включением 3)Шейкерная сортировка 4)Сортировка разделением - Pascal
1)В заданном массиве К(N) найти индексы элементов, которые кратны минимальному значению элемента массива. 2)Задан массив AX (N). Добавить...

Сортировка массива целых чисел A(n) по убыванию(используя метод обменная сортировка) - Turbo Pascal
Помогите написать программу для сортировки массива целых чисел A(n) по убыванию(используя метод обменная сортировка). Или хотя бы без этого...

Сортировка Шелла. Написал программу, не могу понять, почему сортировка не выполняется - C++
Программа создает динамический массив с рандомным заполнением. Дальше выбор сортировок, пузырьком или сортировка Шелла. Вот она то и не...

Быстрая сортировка, ситуация, при которой сортировка работает не корректно - Turbo Pascal
Procedure sort(m, l: Integer); Var i, j, x, w: Integer; Begin i := m; j := l; x := ar; Repeat While...

Сортировка слиянием. В каком куске кода происходит сортировка и каким именно образом? - C++
Помогите, пожалуйста, разобраться. Подскажите в каком куске кода происходит сортировка и каким именно образом? #include <iostream> ...

Сортировка векторов методами: пузырька, Хоара, Шейкерная сортировка - C (СИ)
Сортировка векторов методами: пузырька, Хоараб, Шейкерная сортировка Каждый отдельный алгоритм должен быть оформлен в виде функции,...

Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива - C++
Мне нужно отсортировать фрагмент массива, расположенный между первым и последним отрицательным элементом. Немогу понять как устоновить...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M@ker
-73 / 19 / 1
Регистрация: 17.12.2010
Сообщений: 355
28.12.2010, 17:10     сортировка #2
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>

char * str_to_upper(char * str){
char * s;
for ( s = str; *s; ++s )
*s = toupper(*s);
return str;
}

int asc_cmp(const void * a, const void * b){
return strcmp(*(char**)a, *(char**)b);
}

#define DELIM " \t\n"

int main(void){
char buf[BUFSIZ], *p, ** words;
int i, cnt, len;

printf("String: ");
scanf("%[^\n]", buf);
printf("Length: ");
scanf("%d", &len);

words = NULL;
cnt = 0;
for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) ){
if ( strlen(p) == len ){
if ( ( words = (char**)realloc(words, sizeof(char*) * (cnt + 1)) ) == NULL ){
perror("realloc");
exit(1);
}
if ( ( words[cnt] = strdup(p) ) == NULL ){
perror("strdup");
exit(1);
}
str_to_upper(words[cnt]);
++cnt;
}
}
if ( ! words || ! cnt ){
fprintf(stderr, "No needed words found!\n");
exit(1);
}
qsort(words, cnt, sizeof(char*), asc_cmp);
printf("Result: ");
for ( i = 0; i < cnt; ++i )
printf("%s ", words[i]);
printf("\n");

for ( i = 0; i < cnt; ++i )
free(words[i]);
free(words);
getch();
return 0;
}
besbyblik
1 / 1 / 0
Регистрация: 25.12.2010
Сообщений: 77
28.12.2010, 17:13  [ТС]     сортировка #3
на си можно?
M@ker
-73 / 19 / 1
Регистрация: 17.12.2010
Сообщений: 355
28.12.2010, 17:17     сортировка #4
Цитата Сообщение от besbyblik Посмотреть сообщение
на си можно?
Перепиши сам
romedal
54 / 54 / 1
Регистрация: 18.03.2010
Сообщений: 345
Записей в блоге: 1
29.12.2010, 00:47     сортировка #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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <cctype>
using namespace std;
int compare (const void* a, const void* b);
int main () {
 
    char a[100];
    cin>>a;
    //cout<<endl<<a[2]<<endl;
    qsort(a,strlen(a),sizeof(char),compare);
    for (int i =0; i<strlen(a); i++){
    if( isalpha(a[i]))
    cout<<a[i];
    }
_getch();
return 0;
}
 
int compare (const void* a, const void* b) {
char *af = (char*)a;
char *bf = (char*)b;
if((*af)<(*bf)) return -1; 
if((*af)==(*bf)) return 0;
if((*af)>(*bf)) return  1;
}
Добавлено через 2 часа 50 минут
А вот на С:
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
using namespace std; //Эта строка необязательна
int compare (const void* a, const void* b);
int main () {
 
        char a[100];
        scanf("%s",a);
        qsort(a,strlen(a),sizeof(char),compare);
        for (int i = 0; i<strlen(a); i++){
        if( isalpha(a[i]))
        printf("%c",a[i]);
        }
_getch();
return 0;
}
 
int compare (const void* a, const void* b) {
char *af = (char*)a;
char *bf = (char*)b;
if((*af)<(*bf)) return -1; 
if((*af)==(*bf)) return 0;
if((*af)>(*bf)) return  1;
}
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.12.2010, 00:58     сортировка #6
Цитата Сообщение от romedal Посмотреть сообщение
C
1
using namespace std; //Эта строка необязательна
Всмысле не обязательная ?В Си нет пространства имен.
Yandex
Объявления
29.12.2010, 00:58     сортировка
Ответ Создать тему
Опции темы

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