#include <stdlib.h> #include <stdio.h> #include <sys/time.h> #include <conio.h> #define SIZE 4 int matrix[SIZE][SIZE]; void ask(int choice); void changeRead(); void changeVeergud(); void showmatrix(); void diagmin(); void diagallmax(); int main() { int i, j; int choice; int max; printf("Sissestage max: \n"); scanf("%d", &max); if (max<0 || max>999){ printf("Sorry ...\n");} else { for(i=0; i<SIZE; i++ ) { printf("\n"); for (j=0; j<SIZE; j++) { matrix[i][j] = 1.0 + (int) ( (max * rand()) / (RAND_MAX + 1.0) ); printf("%2d ", matrix[i][j]); } } } printf("\n"); ask(choice); diagmin(); return 0; } void showmatrix() { int i, j; for(i=0; i<SIZE; i++ ) { printf("\n"); for (j=0; j<SIZE; j++) { printf("%2d ", matrix[i][j]); } } } void ask(int choice) { printf("Mida soovite vahetada, kas read(0) voi veerud(1)?: \n"); scanf("%d", &choice); if (choice == 0){ changeRead(); } else if (choice == 1){ changeVeergud(); } else { printf("Sorry ... sisestage ainult 1 vqi 0!\n"); } } void changeRead() { int abi; int rida1, rida2; int j; printf("Milliseid kahte rida te soovite omavahel vahetada? \n"); scanf("%d", &rida1); scanf("%d", &rida2); if (rida1<0 || rida2<0 || rida1<=SIZE || rida2<=SIZE){ for (j=0; j<SIZE; j++){ abi=matrix[rida1][j]; matrix[rida1][j]=matrix[rida2][j]; matrix[rida2][j]=abi; } showmatrix(); getch(); } else { printf("Sorry ... error!\n"); } } void changeVeergud() { int abi1, verg1, verg2, i; printf("Milliseid kahte veergu te soovite omavahel vahetada? \n"); scanf("%d", &verg1); scanf("%d", &verg2); if (verg1<0 || verg2<0 || verg1<=SIZE || verg2<=SIZE){ for (i=0; i<SIZE; i++){ abi1=matrix[i][verg1]; matrix[i][verg1]=matrix[i][verg2]; matrix[i][verg2]=abi1; } showmatrix(); getch(); } else { printf("Sorry ... error!\n"); } }
в нем все ок .. далее идёт задание такого
Leida k?ldiagonaali kohal olevatest elementidest minimaalne, k?ldiagonaali all olevatest elementidest maksimaalne ning vahetada omavahel nende asukohad.
кыргдиагональ это справа сверху начинается и кончается внизу слева . я так понял что условия таковы i+j>SIZE-1 это когда под кыргдиагональю, i+j<SIZE-1 это когда над ... а собсно как осуществить само задание то) вот в чём вопрос..