Łańcuchy znaków , zamiana kolejności

0

Witam mam za zadanie napisać program ,który pobiera dane(Listę nazwisko i imion-każde w innym wierszu) z pliku .txt i segreguje je zgodnie z alfabetem od A do Z a naptępnie drukuje. Poprosiłbym o wasze pomysły na funkcje zamieniające kolejność nazwisk :)
Mój kod : (dane z pliku pobiera prawidłowo przez "wiersz poleceń" ale nie działa zamiana nazwisk) Z góry dziękuję za pomoc :)

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 50
#define M 50

void sortuj(char nazwisko_imie[N][M]);

int main()
{
	int i, j=0;
	char nazwisko_imie[N][M];
	for (i = 0; i < N-1; i++)
	{
		gets(nazwisko_imie[i]);
	}
	
	for (i = 0; i < N-1; i++)
	{
		puts(nazwisko_imie[i]);
	}
	printf("\n\n");
	sortuj(nazwisko_imie);
	for (i = 0; i < N - 1; i++)
	{
		puts(nazwisko_imie[i]);
	}
	printf("\n\n");
	system("pause");
	return 0;
}

void sortuj(char nazwisko_imie[N][M])
{
	int i = 0, j = 0, n = 50;
	char a,temp1[50],temp2[50];
	while (n > 0)
	{
		a = nazwisko_imie[i][j];
		for (i = 0; i < N - 1; i++)
		{	
			if (a>nazwisko_imie[i][j])
			{
				strcpy(temp1, nazwisko_imie[N - 1 - i]);
				strcpy(temp2, nazwisko_imie[i]);
				strcpy(nazwisko_imie[i], temp1);
				strcpy(nazwisko_imie[N - 1 - i], temp2);
			}
		}
		n--;
	}
}
0

a>nazwisko_imie[i][j] to porównanie wskaźników, użyj strcmp lub jej bezpiecznych odpowiedników. Jeśli nie musisz pisać algorytmu sortowania sam, użyj qsort().

1 użytkowników online, w tym zalogowanych: 0, gości: 1