Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- float** AllocMatrix(int n, int m);
- void Transform(float** a, float* v, int n, int m);
- void FreeMatrix(float** a);
- void inputMatrix(float** a, int n, int m);
- void printMatrix(float** a, int n, int m);
- int findMin(float** a, int n, int m);
- void deleteRow(float** a, int n, int m, int imin);
- void main()
- {
- int n, m;
- float** a;
- int imin;
- printf("Input number of columns and rows ");
- scanf("%d %d", &n, &m);
- if (m < 0 || n < 0 || m != n)
- printf("incorrect dates");
- else
- {
- a = AllocMatrix(n, m);
- imin = findMin(a, n, m);
- printf("\nInput your matrix: ");
- inputMatrix(a, n, m);
- printMatrix(a, n, m);
- deleteRow(a, n, m, imin);
- printf("\n");
- printMatrix(a, n, m);
- FreeMatrix(a);
- }
- getch();
- }
- float** AllocMatrix(int n, int m)
- {
- float* v = new float[n * m];
- float** a = new float* [n];
- Transform(a, v, n, m);
- return a;
- }
- void Transform(float** a, float* v, int n, int m)
- {
- for (int i = 0; i < n; i++)
- {
- a[i] = v + i * m;
- }
- }
- void inputMatrix(float** a, int n, int m)
- {
- for (int i = 0; i < n; i++)
- for (int j = 0; j < m; j++)
- scanf("%f", a[i] + j);
- }
- void printMatrix(float** a, int n, int m)
- {
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- printf("%7.2f", *(a[i] + j));
- printf("\n");
- }
- }
- void FreeMatrix(float** a)
- {
- delete[] * a;
- delete[]a;
- }
- int findMin(float** a, int n, int m)
- {
- int imin;
- float min = a[0][0];
- for(int i=1; i<n; i++)
- for (int j = 0; j < i-1; j++)
- {
- if (a[i][j] < min)
- {
- min = a[i][j];
- imin = i;
- }
- }
- return imin;
- }
- void deleteRow(float** a, int n, int m, int imin)
- {
- for (int i = imin; i < n - 1; i++)
- {
- for (int j = 0; j < m; j++)
- {
- a[i][j] = a[i + 1][j];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement