Добавил:
Kolobok
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <iostream.h>
#include <conio.h>
#include <string.h>
//Sortirovka massiva strok metodom prostih vstavok
void sort(char *arr[],int N) //funsia sortirovki vstavkami
{
int i,j;
char *b;
for(j=1;j<N;j++)
{
i=j-1; b=arr[j];
do
if((strlen(arr[i]))>=(strlen(b))) break;
else
{
(arr[i+1])=(arr[i]);
i--;
}
while (i>=0);
if (i==-1) arr[0]=b; else arr[i+1]=b;
}
}
void main()
{
char* M[1000];
float max=0;
clrscr();
cout << "\n\nEta programma osuschestvljaet sortirovku massiva strok v porjadke ubjivanija\n";
cout << "dlini strok\n";
cout << "\nVvedite chislo elementov massiva strok: ";
int t;
cin>>max;
do
{
while (max<1) {cout<<" dolgno bit >=1 \n\n";
cout<<"vvedite chislo n \n\n"; cin>>max;};
t=(int)max;
while (max!=t) {cout <<" dolzno bit selim \n\n";
cout<<"vvedite chislo n \n\n"; cin>>max; t=(int)max;};
}
while ((max!=t) || (max<1));
for(int i=0; i<max; i++)
{
cout << "Vvedite " << i+1 << "-i element massiva : ";
cin >> M[i];
M[i+1] = M[i] + (strlen(M[i]) + 1);
};
clrscr();
cout << "Pered vami ishodnjij massiv:";
for(i=0; i<max; i++)
cout << endl << " M [" << i+1 << "]: '" << M[i] << "'";
sort(M, max);
cout << " \n otsortirovannjij massiv:";
for(i=0; i<max; i++)
cout << endl << "M [" << i+1 << "]: '" << M[i] << "'";
getch();
}