Сортировка В Алфавитном Порядке

Creder

New Member
18.12.2013
1
0
#1
В общем задание такое. Перемещая указатель, рассортировать введенный с клавиатуры массив строк в алфавитном порядке. Ввод, сортировку и вывод массива выполнить в отдельных функциях. Стандартные функции работы со строками не использовать.
Вот код, но он не работает. Объясните,пожалуйста, что я сделал не так.
Код:
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <locale.h>
#define N 100
#define M 30

void vvod(int n, int i, char a[i]);
void sor(int n, int i, char a[i]);
void print(int n, int i, char a[i]);

int main(int argc, char* argv[])/*Главная функция*/
{
char a[N][M];
int n, i;

setlocale(LC_ALL,".1251");
printf("Введите количество слов: ");
scanf("%d", &n);

printf("Введите слова: ");
vvod(n, i, a[i]);/*Функция ввода*/
sor(n, i, a[i]);/*Функция сортировки*/
print(n, i, a[i]);/*Функция вывода*/

return 0;
}

void vvod(int n, int i, char a[i])/*Функция ввода*/
{
for (i=0; i<n-1; i++)
scanf("%s", &a[i]);
return vvod( n, i, a[i]);
}


void sor(int n, int i, char a[i])/*Функция сортировки*/
{
for(i = 0; i < n; i++) {
for(int j = 0; j < n - i - 1; j++) {
if(a[j] > a[j+1]) {
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
return sor(n, i, a[i]);
}
void print(int n, int i, char a[i])/*Функция вывода*/
{
for (i=0; i<n; i++)
printf("%s\n", a[i]);
return print(n, i, a[i]);
}
Да, знаю, задание бредовое, но какое дали такое дали.