Вот код, комба из двух элементарнейших алгоритмов -
запись в динамический массив (один из вариантов)
сортировка массива (на википедии по "Сортировка выбором" выводит пример алгоритма для целых чисел, адаптируется путем замены "<" на "strcmp")
Собственно код:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char **Array;
int Count = 0;
// Функция добавления элемента в массив
void addElement(char *str)
{
// Увеличиваем счетчик размера массива
Count++;
// Создаем или увеличиваем массив строк
if (Array == NULL)
Array = malloc(sizeof(char *));
else
Array = realloc(Array, sizeof(char *) * Count);
// Добавляем элемент в массив строк
Array[Count - 1] = calloc(strlen(str) + 1, sizeof(char));
// Записываем строку в массив
strcpy(Array[Count - 1], str);
}
// Функция, меняющая две строки местами
void swapElements(int a, int b)
{
char *tmp = Array[a];
Array[a] = Array[b];
Array[b] = tmp;
}
// Функция сортировки
void sortElements()
{
int i, min, j;
for (i = 0; i < Count - 1; i++)
{
/* выбираем начальное значение мин. индекса */
min = i;
/* поиск минимального индекса элемента */
for (j = i + 1; j < Count; j++)
if (strcmp(Array[j], Array[min]) < 0)
min = j;
/* замена значений местами */
swapElements(i, min);
}
}
// Запрос ввода и ввод из stdin следующей строки
int enterElement()
{
char buffer[71];
printf( "Enter new string, null-length string for sort and stop:\n" );
gets(buffer);
if (strlen(buffer) == 0)
return 0;
addElement(buffer);
return 1;
}
// Вывод содержимого массива на stdout
void printElements()
{
int i;
for(i = 0; i < Count; i++)
printf( " String %02d: %s\n", i, Array[i] );
}
// Главная функция
int main()
{
// Вводим набор строк
while (enterElement());
// Выводим массив до сортировки
printf( "Before sort:\n" );
printElements();
// Сортируем
sortElements();
// Выводим массив после сортировки
printf( "After sort:\n" );
printElements();
return 0;
}
P.S. по поводу хакеров
1. ну тут отнюдь не все хакеры) даже совсем-отнюдь-не все))))
2. информация даром и для всех - это хорошо, а вот "сделайте плиз прогу" это уже не для всех и не всегда, попадаются правда фрики вроде меня))
P.P.S. надеюсь код пригодится
Цитата:
Сообщение от blake
Ребят я стебанул просто) Ибо щас тут половина тем мои однокурсники
|
А вот это ты зря, т.к. я подумал (да и многие другие я думаю), что раз ты за $$ делаешь, то и твоя тема про задачу с Crc32 уже не актуальна... Соответственно помощи ты по большей части из-за этого и не дождался)) (ИМХО)
Цитата:
Сообщение от Le}{a
был конечно случай с макроассемблером который преподавали филфаку, но это была 1 лекция и очень нетрезвый препод, просто по пьяни спутал аудитории
|
Действительно забавно)))