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

Сортировка имен с помощью qsort; - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы: Нужно получить все элементе большого массива, что не есть в меньшому. http://www.cyberforum.ru/cpp-beginners/thread569981.html
Есть два целочисленных массива, состоящих из m and n элементов. Нужно получить все элементе большого массива, что не есть в меньшому. Добавлено через 13 часов 20 минут что некто не знает?(
C++ Массив: количество элементов массива, равных 0 10. В одномерном массиве, состоящем из n вещественных элементов, вычислить: а) количество элементов массива, равных 0; b) сумму элементов массива, расположенных после минимального элемента. ... http://www.cyberforum.ru/cpp-beginners/thread569975.html
Ребус C++
9. Составить алгоритм решения ребуса сыр + сыр = рыба (различные буквы обозначают различные цифры, старшая – не 0). Нужно сделать как в примере Пример * Составить алгоритм решения ребуса...
C++ Создать двусвязный список и найти в нем максимум
прошу напишите пожалуйста прогу, которая создаст двусвязный список и найдёт в нем максимум
C++ Найти сумму квадратов элементов последовательности, стоящих на нечетных местах http://www.cyberforum.ru/cpp-beginners/thread569929.html
Найти сумму квадратов элементов последовательности, стоящих на нечетных местах А = {1,5; -5; -18,5; 100,5; 8,5; 0; 0; -81,5; 31; 0,5; -28,5}.
C++ Помогите найти ошибку Нужно написать программу на C: Дан файл f, компоненты которого являются целыми числами. Записать в файл g, компоненты файла f, исключив повторные вхождения чисел. Есть найденное решение, но оно с... подробнее

Показать сообщение отдельно
Salty_Sugar
26 / 26 / 1
Регистрация: 02.04.2012
Сообщений: 142

Сортировка имен с помощью qsort; - C++

10.05.2012, 10:25. Просмотров 706. Ответов 8
Метки (Все метки)

Вот программа которую я нашел здесь:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
using namespace std;

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

#define MAX_LEN 128
int main(void)
{
setlocale(LC_ALL, "rus");
int num=5, i;
char **arr, buf[MAX_LEN], *p;

if ( ( arr = (char**) calloc(num, sizeof(char*)) ) == NULL ) exit(1);

for ( i = 0; i < num; ++i ){
if ( ! fgets(buf, MAX_LEN, stdin) ) exit(1);

if ( p = strrchr(buf, '\n') )
*p = '\0';
if ( ! *buf ) exit(1);

if ( ( arr[i] = strdup(buf) ) == NULL ) exit(1);
}

qsort(arr, num, sizeof(char*), cmp_func);

for ( i = 0; i < num; ++i )
printf("%s\n", arr[i]);

for ( i = 0; i < num; ++i )
free(arr[i]);
free(arr);

exit(0);
}

Вопрос: как сделать, чтобы переменная num вводилась с клавиатуры? Я пробовал просто scanf("%i",&num); Не помогло...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru