gashink_t

(ТП)функции, массивы, поиск на главной и побочной диагоналях

Feb 23rd, 2020
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.67 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int** create(int N);
  5. void print(int** A, int N);
  6. int evennumber(int **A,int N);
  7. void maxmin(int **A,int N, int *ma,int *mi);
  8.  
  9. int main() {
  10.     int n,n_ever=0;
  11.     printf("Enter N = ");
  12.     scanf("%d", &n);
  13.     int** a=create(n);
  14.     print(a,n);
  15.     int max=a[0][0],min=a[0][n-1];
  16.     int *p,*t;
  17.     p=&max;t=&min;
  18.     n_ever=evennumber(a,n);
  19.     printf("even number = %d\n", n_ever);
  20.     maxmin(a,n,p,t);
  21.     printf("max = %d, min = %d\n", *p,*t);
  22.     return 0;
  23. }
  24.  
  25. int** create(int N) {//создает массив NxN
  26.      int i,j;
  27.     int** A=(int**)malloc(N*sizeof(int*));
  28.     for (i=0;i<N;i++) {
  29.         A[i]=(int*)malloc(N*sizeof(int));
  30.         for (j=0;j<N;j++) {
  31.             printf("A[%d][%d] = ", i,j);
  32.             scanf("%d",&A[i][j]);
  33.         }
  34.     }
  35.     return A;
  36. }
  37.  
  38. void print(int** A, int N) { //вывода матрицы на экран
  39.     int i,j;
  40.     for (i=0; i<N; i++) {
  41.         for (j=0;j<N;j++)
  42.             printf("%4d", A[i][j]);
  43.         printf("\n");
  44.     }
  45.     printf("\n");
  46. }
  47.  
  48. int evennumber(int **A,int N) { //находит кол-во четных чисел выше главной диагонали
  49.     int i,j,k=0;
  50.     for (i=0;i<N;i++)
  51.         for (j=0;j<N;j++)
  52.             if (i<j && (A[i][j]%2)==0) k++;
  53.     return k;
  54. }
  55.  
  56. void maxmin(int **A,int N, int *ma, int *mi) { //находит максимум на главной диагонали и минимум на побочной
  57.     int i,j;
  58.     for (i=0;i<N;i++)
  59.         for (j=0;j<N;j++) {
  60.             if (i==j && A[i][j]>*ma) *ma=A[i][j];
  61.             else if (i+j==N-1 && A[i][j]<*mi) *mi=A[i][j];
  62.     }
  63. }
Add Comment
Please, Sign In to add comment