void Anagram::process( ) {
    if ( s1.empty( ) )
        throw BadString( "String 1 is empty." );
    if ( s2.empty( ) )
        throw BadString( "String 2 is empty." );

    s1processed = stringSort( lowerAlpha( s1 ) );
    s2processed = stringSort( lowerAlpha( s2 ) );
    return;
}
Example #2
0
int main()
{
    //char* forsort = "abc";
    char forsort[] = "abc";
    stringSort(forsort);
    return 0;
}
Example #3
0
 bool stringDescending(const DOM::Node<std::string>& n1, const DOM::Node<std::string>& n2) const
 {
   return stringSort(n1, n2, std::greater<std::string>());
 } // stringAscending
int fileStringSort (const char *pFileToSort)
{
  char pStrBuff[iSortBuffSize]={0};// массив для хранения считанной строки
  char **pArray;                   // указатель на массив указателей
  char *pStrArray;                 // указатель на строку из файла
  FILE *pFile;                     // указатель на дескриптор открытого файла
  int iNumStr = 0;                 // количество строк в файле
  int iStrLength;                  // длина строки
  int iCycle;                      // временная переменная

  if ((pFile = fopen (pFileToSort,"r+")) == NULL)
  {
    return 1;
  }

  while (fgets (pStrBuff, iSortBuffSize, pFile))    // подсчитываем количество строк в файле
  {
     iNumStr++;
  }

  rewind (pFile);   // возвращаем указатель на начало файла

  pArray = new char* [iNumStr];   // выделяем память для массива указателей на строки

  iCycle = 0;

  while (fgets (pStrBuff, iSortBuffSize, pFile)) 
  {
        iCycle++;
        iStrLength = strlen(pStrBuff);

        if (iCycle == iNumStr && !strstr(pStrBuff,"\n"))   // проверяем наличие новой строки в конце файла
        {                                                  // если отсутсвует - добавляем
			pStrArray = new char [iStrLength+2];
			strncpy(pStrArray, pStrBuff,iStrLength+1);
			strncat(pStrArray, "\n",1);
			pArray[iCycle-1] = pStrArray;
			break;
        }

		pStrArray = new char [iStrLength+1];            // выделяем память для хранения считанной из файла строки
        strncpy (pStrArray, pStrBuff,iStrLength+1);     // копируем считанную строку в выделенную память
        pArray[iCycle-1] = pStrArray;
  }

  rewind(pFile);

  stringSort(pArray, iNumStr, 1);     // сортируем строки в памяти

  for (iCycle = 0; iCycle < iNumStr; iCycle++)
  {
    fprintf (pFile,"%s",pArray[iCycle]);           // записываем отсортированные строки в файл
  }

  for (iCycle = 0; iCycle < iNumStr; iCycle++)
  {
    delete []pArray[iCycle];   // освобождаем память выделенную для сортировки строк
  }

  delete []pArray;    // освобождаем память выделенную для хранения массива указателей на строки

  fclose (pFile);

  return 0;
}
Example #5
0
 bool stringDescending(const DOMNode& n1, const DOMNode& n2) const
 {
   return stringSort(n1, n2, std::greater<string_type>());
 } // stringAscending