#include #include #include #include using namespace std; //создание двумерной таблицы случайных действительных чисел void cr2mf() { int m, n, i, j; printf("create table of real numbers\n"); printf("m="); scanf("%d",&m); printf("n="); scanf("%d",&n); srand(time(NULL)); FILE*f; f=fopen("dat.txt","w"); float p; for (i=0; i<=m-1; i++ ) { for (j=0; j<=n-1; j++ ) { p=(float) rand()*2000/RAND_MAX -1000; fprintf(f,"%11.6f ",p); } fprintf(f,"\n"); } fclose(f); }; //проверка существовавния текстового файла dat.txt int experiment() { FILE *f; f=fopen("dat.txt", "r"); if (f == NULL) return 1; fclose(f); }; //подсчёт количества строк и столбцов в таблице чисел файла dat.txt //m - количество строк, n - количество столбцов void number(int &m, int &n) { FILE *f; m=0; n=-1; float x; f=fopen("dat.txt","r"); while(!feof(f)) { n++; fscanf(f,"%f",&x); }; fclose(f); char s[200]; f=fopen("dat.txt","r"); while ( NULL != fgets ( s, 200, f ) ) m++; fclose(f); n=n/m; } //создание одномерного массива размера m*n из файла dat.txt void readfile(int k, float mas[]) { FILE *f; f=fopen("dat.txt","r"); for (int i=0; i=0; i--) {y[k]=mas[i][j]; k++;}}; }; } //сортировка элементов таблицы вторым способом void sort2(int m, int n, float x[], float y[]) { int i, j, k; float **mas=new float*[m]; for (i=0; i=0) and (q>=0)) { for (r=1; r<=p; r++) {y[k]=mas[i][j]; k++; i--;} p--; i++; j++; for (r=1; r<=q; r++) {y[k]=mas[i][j]; k++; j++;} q--; j--; i++; for (r=1; r<=p; r++) {y[k]=mas[i][j]; k++; i++;} p--; i--; j--; for (r=1; r<=q; r++) {y[k]=mas[i][j]; k++; j--;} q--; j++; i--; }; } //сортировка элементов таблицы третьим способом void sort3(int m, int n, float x[], float y[]) { int i, j, k; float **mas=new float*[m]; for (i=0; i