| Berserker   
   
   Posts: 16785
 
 | 
			| 
 
				Моя первая программа на СИ++. Сортировка массива строк. 
Code:
 #include <stdio.h>#include <stdlib.h>
 #include <string.h>
 #define pointer *
 #define deref *
 #define nil 0
 
 typedef char pointer pchar;
 
 void ExchangeStrs (pchar &StrA, pchar &StrB)
 {
 pchar StrC = StrB;
 StrB = StrA;
 StrA = StrC;
 }
 
 void SortStrArr (pchar Arr[], int ArrSize)
 {
 int MiddleItemInd = -1;
 pchar MiddleItem = nil;
 int LeftInd = 0;
 int RightInd = ArrSize - 1;
 /***/
 if (ArrSize == 2)
 {
 if (strcmp(Arr[0], Arr[1]) >= 0)
 {
 ExchangeStrs(Arr[0], Arr[1]);
 }
 }
 else if (ArrSize > 2)
 {
 MiddleItemInd = ArrSize / 2;
 MiddleItem = Arr[MiddleItemInd];
 while (LeftInd <= RightInd)
 {
 if (strcmp(Arr[LeftInd], MiddleItem) >= 0)
 {
 ExchangeStrs(Arr[LeftInd], Arr[RightInd]);
 RightInd--;
 }
 else
 {
 LeftInd++;
 }
 }
 SortStrArr(&Arr[0], (RightInd + 1));
 SortStrArr(&Arr[LeftInd], (ArrSize - LeftInd));
 }
 }
 
 int main (int argc, pchar args[])
 {
 const int ARR_SIZE = 5;
 pchar strs[ARR_SIZE] = {"ccc", "bbb", "aaa", "ddd", "hello"};
 SortStrArr(strs, ARR_SIZE);
 for (int i = 0; i < ARR_SIZE; i++)
 {
 printf("%s\n", strs[i]);
 }
 }
 Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
 Поддержать проект
 
 |  | 
	| 29.09.2010 01:26 |  |