Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define N 100
- #define BUF 100
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- #include <string.h>
- int n;
- int a[N][N];
- int scan (void){
- int i;
- scanf ("%d", &n);
- for (i = 0; i < n; i++){
- int j;
- for (j = 0; j < n; j++)
- scanf ("%d", &a[i][j]);
- }
- }
- int is_abs_a_prime(void){
- int i, j, d;
- for (i=0; i < n; i++)
- for (j = 0; j < n; j++){
- a[i][j] =(a[i][j] > 0)? a[i][j]: -a[i][j];
- if (a[i][j] == 1)
- return 0;
- for (d=2; d < sqrt(a[i][j]); d++)
- if (a[i][j] % d ==0)
- return 0;
- return 1;
- }
- }
- int equal_columns(void){
- int j1;
- for (j1 = 0; j1 < n; j1++){
- int j2;
- for (j2 = j1 + 1; j2 < n; j2++){
- int i;
- for (i = 0; i < n; i++){
- if (a[i][j1] != a[i][j2])
- break;
- }
- if (i == n)
- return 1;
- }
- }
- return 0;
- }
- int sort (void){
- int i, j;
- int sum[N];
- for (i = 0; i < n; i++){
- sum[i] = 0;
- for (j = 0; j < n; j++){
- sum[i] += abs(a[i][j]);
- }
- }
- int changed;
- changed = 1;
- while (changed){
- changed = 0;
- for (i=0; i < n; i++){
- if (sum[i] > sum [i + 1]){
- int tmp;
- int buf[N];
- memcpy (buf,a[i],sizeof(int) * n);
- memcpy (a[i], a[i+1], sizeof(int)*n);
- memcpy (a[i+1], buf, sizeof(int)*n);
- tmp = sum [i];
- sum [i] = sum[i + 1];
- sum[i + 1] =tmp;
- changed = 1;
- }
- }
- }
- }
- int print (void){
- int i, j;
- for (i = 0; i < n; i++){
- putchar ('\n');
- for (j = 0; j < n; j++)
- printf ("2%d", a[i][j]);
- }
- }
- int main (void){
- scan (void);
- if (is_abs_a_prime(void) != 0 || equal_colums(void) != 0)
- sort (void);
- print (void);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement