Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Пейстбин, не доделано, с помощью временного одномерного массива, алгоритм змачительно сложнее, чем с помощью
- //временного двумерного
- //Хочу вообще с помощью временной переменной типа инт сделать, без временных массивов, пока никак
- #include <stdio.h>
- #include <math.h>
- #define SIZE 4
- void pop_arr(int s,int a[s][s]);
- void pr_arr(int s,int a[s][s]);
- void turn_arr(int s,int a[s][s]);
- int main()
- {
- int arr[SIZE][SIZE]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
- pr_arr(SIZE,arr);
- turn_arr(SIZE,arr);
- pr_arr(SIZE,arr);
- return 0;
- }
- void turn_arr(int s,int a[s][s])
- {
- int i,j,ii,k,temp,temp_row[s];
- //temp_row made out of row in this block
- /*for(i=0;i<s;i++)//row in array a
- {ii=0;//index name used for temp_row
- for(j=0;j<s;j++)//column in array a
- {
- temp_row[ii]= a[i][j];
- //printf("i=%d,j=%d,ii=%d\n",i,j,ii);
- ii++;
- }
- //printf("t[0]-%d,t[1]-%d,t[2]-%d,t[3]-%d\n",temp_row[0],temp_row[1],temp_row[2],temp_row[3]);
- }*/
- //temp_row made out of column in this block
- for(j=0;j<s;j++)//row in array a
- {ii=0;//index name used for temp_row
- for(i=0;i<s;i++)//column in array a
- {
- temp_row[ii]= a[i][j];//temp_row is for holding i-st row temporary(made of row)
- //printf("i=%d,j=%d,ii=%d\n",i,j,ii);
- ii++;
- }
- for(ii=0;ii<s/2;ii++)//reverse temp_row
- {
- temp=temp_row[ii];
- temp_row[ii]=temp_row[s-ii-1];
- temp_row[s-ii-1]=temp;
- }
- printf("t[0]-%d,t[1]-%d,t[2]-%d,t[3]-%d\n",temp_row[0],temp_row[1],temp_row[2],temp_row[3]);
- for(ii=0;ii<s;ii++)
- a[i][ii]=temp_row[ii];
- printf("INSIDE TURN\n");
- pr_arr(s,a);
- }
- /* for(i=0;i<s;i++)
- {
- for(j=0;j<s;j++)
- temp_arr[i][j]= a[s-j-1][i];//po chasovoj strelke
- //a2[i][j]=a[j][s-i-1];//protiv chasovoi strelki
- }
- for(i=0;i<s;i++)
- for(j=0;j<s;j++)
- a[i][j]=temp_arr[i][j];*/
- }
- void pop_arr(int s,int a[s][s])
- {
- int i,j;
- for(i=0;i<s;i++)
- for(j=0;j<s;j++)
- a[i][j]=rand()%20+1;
- }
- void pr_arr(int s,int a[s][s])
- {
- int i,j;
- for(i=0;i<s;i++)
- {for(j=0;j<s;j++)
- printf("%d\t",a[i][j]);
- printf("\n");}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement