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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ isalpha и isprint http://www.cyberforum.ru/cpp-beginners/thread195889.html
Какие символы в них входят. Если можно перечислите!!! Заранее спасибо!!!
C++ Баг компилятора???????? Почему первая программа дает 6, а вторая 11? #include "stdafx.h" #include <iostream> int _tmain(int argc, _TCHAR* argv) { int a,b,c; a=5; b=6; c = a +++ b; http://www.cyberforum.ru/cpp-beginners/thread195869.html
C++ Матрица
помогите пожалуйста дорешать задачу: найти наибольшее отрицательное и наименьшее положительное элементы матрицы ниже главной диагонали включительно //--------------------------------------------------------------------------- #include <iostream> #pragma hdrstop #include <conio.h> //--------------------------------------------------------------------------- using namespace std; #pragma...
строка, исправить код C++
нужно исравить код, так что если количество символов в строке не четное то удаляло символ, стоящий по середине. может кто сможет помочь. #include "Stdafx.h" #include "stdio.h" #include "string.h" #include "conio.h" void main(void) { char string; printf ("Enter a few words: ");
C++ Функции и массивы в С++ http://www.cyberforum.ru/cpp-beginners/thread195859.html
Нада создать 3 массива функциями: 1)Удалить все простые числа из массива. 2)Отсортировать по убыванию все строки матрицы. 3)Отсортировать слова в строке в лексикографическом порядке (по алфавиту).
C++ Исправить код #include <iostream> #include <fstream> using namespace std; int main() { int le = 0; int re = 0; char a; подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
23.11.2010, 09:07     Сортировка строки
Все очень просто, нужно ввести функцию-компаратор и воспользоваться функцией qsort:
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define SIZE 80
 
int cmp (const void* a, const void* b)
{
    static const char* vowels = "aeiouy";
    
    int isVowel(char c)
    {
        return strchr(vowels, (int) c) != NULL;
    }
    
    int A = isVowel(*(char*) a);
    int B = isVowel(*(char*) b);
    if((A && B) || (!A && !B))
        return 0;
    else if(A && !B)
        return -1;
    else
        return 1;
}
 
int main()
{
    char* str = NULL;
    int len = 0;
    ssize_t num;
    printf("Input string: ");
    if((num = getline(&str, &len, stdin)) != -1)
    {
        str[--num] = '\0';
        qsort(str, num, sizeof(char), cmp);
        printf("Sorted string: \'%s\'\n", str);
    }
    else
    {
        perror("Error");
        return 1;
    }
    if(str)
        free(str);
    return 0;
}
Цитата Сообщение от Kardinal264 Посмотреть сообщение
забыл написать, запрос строки у пользователя через printf...
Вот это очень важно замечание, ага

Добавлено через 1 час 42 минуты
18 строку лучше переписать так:
C
1
if(A == B)
 
Текущее время: 20:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru