Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

С++ ЕНФ / LABA 6 / 6lb2

.cpp
Скачиваний:
12
Добавлен:
25.05.2014
Размер:
1.27 Кб
Скачать
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
//Sortirovka massiva strok metodom prostih vstavok
void sort(char* arr[],int N)       //funsia sortirovki vstavkami
{
 int i,j,g; char *b; int h=N/2-1,m=N/3+1;
 for (int k=m;k>=0;k--)
 {h=h/3-1; g=h-1;
 for(j=(h);j<=m;j++)
  {
   i=j-g; b=arr[j];
     do
     {
      if( (strlen(arr[i]))>=(strlen(b)) )    //4
	{arr[i+g]=b;}                        //6
      else {(arr[i+g])=(arr[i]);i=i-g;};}    //5
      while(i>=0);
  };
 };
}

void main()
{int i=0;
 char *mas[1000];
 float max=0;
 clrscr();
 cout << "\n\nEta programma osuschestvljaet sortirovku massiva strok v porjadke ubjivanija\n";
 cout << "dlin strok \n";
 do
  {cout<<" vv. chislo n, ono dolgno bit >=1 i celim \n\n";
    cin>>max;}
   while ((max-int(max)!=0) || (max<1));

 for(i=0; i<max; i++)
  {
   cout<<"Vvedite "<<(i+1)<<" element massiva \n";
   cin>>mas[i];
   mas[i+1]=mas[i]+(strlen(mas[i])+ 1);
  };
 clrscr();
 cout<<"ishodnii massiv:"<<endl;
 for(i=0; i<max; i++)
  cout<<"mas["<<(i+1)<<"]:  '"<<mas[i]<<"' \n";
 sort(mas,max);
 cout<<endl<<"otsortirovannii massiv:"<<endl;
 for(i=0; i<max; i++)
  cout<<"mas["<<(i+1)<<"]:  '"<<mas[i]<<"' \n";
 getch();
}
Соседние файлы в папке LABA 6