Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int func(int n, int m, int *ans, int *ansMin, int *ansMax, int mas[][m]){
- int f = 1;
- *ansMax = mas[0][0];
- *ansMin = mas[0][0];
- for(int i=0; i<n; i++){
- int lMax = mas[i][0], lMin = mas[i][0];
- for(int j=1; j<m; j++){
- if(mas[i][j] > lMax) lMax = mas[i][j];
- if(mas[i][j] < lMin) lMin = mas[i][j];
- }
- mas[i][m] = lMax;
- if(*ansMax < lMax) *ansMax = lMax;
- mas[i][m+1] = lMin;
- if(*ansMin > lMin) *ansMin = lMin;
- }
- for(int j=0; j<m; j++){
- int lMax = mas[0][j], lMin = mas[0][j];
- for(int i=0; i<n; i++){
- if(mas[i][j] > lMax) lMax = mas[i][j];
- if(mas[i][j] < lMin) lMin = mas[i][j];
- }
- mas[n][j] = lMax;
- mas[n+1][j] = lMin;
- }
- for(int i=0; i<n; i++){
- for(int j=0; j<m; j++){
- if(mas[i][m] == mas[n+1][j]){
- *ans = mas[i][m];
- f = 0;
- }
- else if(mas[i][m+1] == mas[n][j]){
- *ans = mas[n][j];
- f = 0;
- }
- }
- }
- return f;
- }
- int main(void)
- {
- int n, m;
- scanf("%d %d", &n, &m);
- int mas[n+2][m+2];
- for(int i=0; i<n; i++){
- for(int j=0; j<m; j++){
- mas[i][j] = 0;
- }
- }
- int ans, ansMin, ansMax;
- //Тут в массив пихаются значения (x*x - y*y)
- for(int i=0; i<n; i++){
- for(int j=0; j<m; j++){
- mas[i][j] = i*i-j*j;
- }
- }
- int s = func(n, m, &ans, &ansMin, &ansMax, mas);
- for(int i=0; i<n; i++){
- for(int j=0; j<m; j++){
- printf("%d ", mas[i][j]);
- }
- printf("\n");
- }
- if(s) printf("Седловой точки нет, ");
- else printf("Седловая точка = %d, ", ans);
- printf("максимальный = %d, минимальный = %d", ansMax, ansMin);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement