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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Строки http://www.cyberforum.ru/cpp-beginners/thread127753.html
Помогите пожалуйста!!!! Дана строка, изображающая арифметическое выражение вида «<цифра>±<цифра>±…±<цифра>», где на месте знака операции «±» находится символ «+» или «–» (например, «4+7–2–8»). Вывести значение данного выражения (целое число).
C++ рекурсия Доброго времени суток. Уважаемые ГУРУ, есть одна проблема. Ниже представлен код, в котором параметр b должен быть всегда положительным(чтобы предотвратить бесконечную рекурсию). Но нужно убрать ограничение, требующее, чтобы аргумент был неотрицательным. Я уж много пробовал, но видно не в том русле двигаюсь. Помогите пжлст, можно код не писать, только совет. У меня постоянно ошибка и зависает... http://www.cyberforum.ru/cpp-beginners/thread127751.html
обратите на меня внимание) C++
В одномерном массиве, состоящем из n вещественных элементов, вы-числить: 1) количество элементов массива, больших С; 2) произведение элементов массива, расположенных после макси-мального по модулю элемента. 3) Преобразовать массив таким образом, чтобы сначала располага-лись все отрицательные элементы, а потом – все положительные (элементы, равные 0 , считать положительными). const N=10;...
C++ реализация strcmp
помогите написать реализацию strcmp Функция должна принимать два указателя на сравниваемые строки (возможно Вы должны указать компилятору, что функция не имеет права модифицировать содержимое строк). Функция должна возвращать отрицательное значение, если первая строка лексиграфически меньше второй, 0 - если они равны и положительное значение, если первая строка больше второй.
C++ посмотрите что не так http://www.cyberforum.ru/cpp-beginners/thread127735.html
Рассчитать: М при х =1 по формуле M = tg2z; L при х=2 по формуле L = sin z 2; K при х =3 по формуле K = ln z; N при х=4 по формуле N = e2z. #include<iostream.h> #include<stdio.h> #include<math.h>
C++ fstream open непонятки fstream lala lala.open("fffddd.txt"); в книге написано что если файл не существует он будет создан файла нет - файл не создался - почему,? подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
10.05.2010, 23:52     сортировка 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
 
int cmp_func(const void *a, const void *b){
    return strcmp(*(char**)a, *(char**)b);
}
 
int main(void){
    FILE *f;
    long num, i;
    char **arr, buf[BUFSIZ], *p;
    
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    printf("Имя файла: ");
    if ( ! fgets(buf, BUFSIZ, stdin) ){
        fprintf(stderr, "Ошибка чтения!\n");
        exit(1);
    }
    if ( p = strrchr(buf, '\n') )
        *p = '\0';
    if ( ! *buf ){
        fprintf(stderr, "Пустая строка!\n");
        exit(1);
    }
    if ( ( f = fopen(buf, "r") ) == NULL ){
        fprintf(stderr, "Ошибка открытия файла!\n");
        exit(1);
    }
    
    arr = NULL;
    num = 0;
    while ( fgets(buf, BUFSIZ, f) ){
        if ( p = strrchr(buf, '\n') )
            *p = '\0';
        if ( ! *buf )
            continue;
        if ( ( arr = realloc(arr, sizeof(char*) * (num + 1)) ) == NULL ){
            fprintf(stderr, "Ошибка памяти!\n");
            fclose(f);
            exit(1);
        }
        if ( ( arr[num++] = strdup(buf) ) == NULL ){
            fprintf(stderr, "Ошибка памяти!\n");
            fclose(f);
            exit(1);
        }
    }
    fclose(f);
    
    printf("\nСтроки, прочитанные из файла:\n");
    for ( i = 0; i < num; ++i )
        printf("%s\n", arr[i]);
    
    qsort(arr, num, sizeof(char*), cmp_func);
    
    printf("\nСтроки, отсортированные по возрастанию:\n");
    for ( i = 0; i < num; ++i )
        printf("%s\n", arr[i]);
    
    for ( i = 0; i < num; ++i )
        free(arr[i]);
    free(arr);
    
    exit(0);
}
 
Текущее время: 04:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru