Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include"stdafx.h"
- #include<conio.h>
- #include<stdio.h>
- #include<math.h>
- float * * transphorm(float * * Ap, float * A, int n, int M);
- float * * inputmas( float * * A, int * pn, int * pm, int nmax, int mmax );
- int max ( float * * A, int n, int m);
- void retmas ( float * * A, int n, int m);
- void swap (float * a, float * b );
- void del (float * * A, int b, int n, int m);
- void bigsort(float * * B, int n, int m, float * A);
- float * massmiddle ( float * * A, int n, int m );
- float middle ( float * A , int n );
- void main()
- {
- const int nmax = 100;
- const int mmax = 100;
- float Ap[nmax][mmax];
- float * A[mmax];
- transphorm( A , *Ap, nmax, mmax );
- int n;
- int m;
- int * pn = &n;
- int * pm = &m;
- A = inputmas( A, pn, pm, nmax, mmax );
- if (A != 0)
- {
- int q = max(A,n,m);
- del(A,q,n,m);
- m=m-1;
- float * G = massmiddle(A, n, m);
- bigsort (A, n, m, G);
- retmas(A, n, m);
- }
- getch();
- }
- float * * inputmas ( float * * A, int * pn, int * pm, int nmax, int mmax )
- {
- printf ( "Input count " );
- scanf ( "%d %d", pn, pm );
- if (*pn > nmax||*pn < 1||*pm < 1||*pm > mmax)
- {
- return 0;
- }
- printf ( "Input elements: " );
- for ( int i = 0; i < *pn ; i++ )
- {
- for ( int j = 0; j < *pn ; j++ )
- scanf( "%f", A[i]+j );
- }
- return A;
- }
- float * * transphorm(float * * Ap, float * A, int n, int M)
- {
- for ( int i=0; i<n; i++ )
- {
- Ap[i]=A+i*M;
- }
- return Ap;
- }
- int max ( float * * A, int n, int m)
- {
- float k ;
- k = A[0][0];
- int kd = 0;
- for ( int i = 0; i < n; i++ )
- {
- for ( int j = 0; j < m; j++ )
- {
- if ( k < A[i][j] )
- {
- k = A[i][j];
- kd = j;
- }
- }
- }
- return kd;
- }
- void sort ( float * A , int n)
- {
- int j = 0;
- int flag = 0;
- do
- {
- j++;
- flag = 0;
- for ( int i = 0; i < n -j; i++ )
- {
- if (A[i]>A[i+1])
- {
- swap(&A[i],&A[i+1]);
- flag = 1;
- }
- }
- }
- while (flag == 1);
- }
- void swap (float * a,float * b)
- {
- float temp = *a;
- *a = *b;
- *b = temp;
- }
- void retmas ( float * * A, int n, int m)
- {
- printf ( "Printing: \n " );
- for ( int i = 0; i < n; i++ )
- {
- for ( int j = 0; j < m; j++ )
- {
- printf( "%f ", A[i]+j );
- }
- printf ( "\n" );
- }
- }
- void del (float * * A, int b, int n, int m)
- {
- for ( int i = 0; i < n; i++ )
- {
- for ( int j = 0; j < m; j++ )
- {
- if(i>b) swap(A[i]+j, A[i]+j-1);
- }
- }
- }
- float * massmiddle ( float * * A, int n, int m )
- {
- float *G;
- for ( int i = 0; i < n; i++ )
- {
- G[m]=middle(A[i],m);
- }
- return G;
- }
- void bigsort(float * * B, int n, int m, float * A)
- {
- int k;
- int j = 0;
- int flag = 0;
- do
- {
- j++;
- flag = 0;
- for ( int i = 0; i < n -j; i++ )
- {
- if (A[i]>A[i+1])
- {
- swap(&A[i],&A[i+1]);
- flag = 1;
- for( k=0; k<m; k++ )
- {
- swap(B[i]+k,B[i+1]+k);
- }
- }
- }
- }
- while (flag == 1);
- }
- float middle ( float * A , int n )
- {
- float a = 0;
- int c = 0;
- for ( int i = 0; i < n; i++ )
- {
- if (A[i]>0)
- {
- a += A[i];
- c++;
- };
- }
- float s;
- if (c != 0)
- {
- s = a/c;
- }
- return s;
- }
Add Comment
Please, Sign In to add comment