duncan@csd4.csd.uwm.edu (Shan D Duncan) (03/27/90)
Preface: New to C I have a little c program to rearrange some data. it works fine on our unix machine (berkeley) but has problems on my amiga. First what I am doing.: I have files of ascii data - integers. The data is actually a matrix 128 rows by 200 or 300 colum. The data was originally written as so: 1 2 3 4 5 6 7 8 9 But should be represented as 3 6 9 2 5 8 1 4 7 After I look at the matrix I then need to put it in row form: 1 4 7 2 5 8 3 6 9 So I just used an array of arrays - scan %d into the array and printf %d out. Works fine on unix but if I try it on my amiga I get very large negative numbers or very large numbers mixed in with the data... unless I declare it static but if I do THAT then I can only have an array size of 128 by 125. So here is the code: Instruct me! #include <stdio.h> #define ROWS 128 #define COLS 200 void main () { int i,j, INDATA[COLS][ROWS]; for ( i = 0; i < COLS; i++ ) { for (j=0; j < ROWS;j++) scanf ("%d ",&INDATA[i][j]); } printf("%d %d\n",COLS,ROWS); \* just prints out row and cols *\ for (i =1 ; i < COLS+1; i++) printf("%d\n",i); \* counts cols *\ for (j = 1 ; j < ROWS+1; j++) printf("%d\n",j); \* counts rows *\ for ( j=0; j < ROWS; j++) { for (i = 0; i < COLS ;i++) printf ("%d \n ",INDATA[i][j]); } } The file using my little array of above 3 3 1 2 3 1 2 3 1 4 7 2 5 8 3 6 9 I wanted something I could use on both my amiga and our unix system... I just sent the code to a friend with a C compiler (Lattice I believe) and he compiled it for me. I probably have a conceptual here since I am used to thinking (and looking) at this stuff in rows and columns. Oh the resulting file then goes into threedplot a program from the fish disks (the 2d part is now multiplot). So alternatively if someones has a 3d plotting program (net type plot) that can use a matrix of x y and z data PLEASE let me know! Thanks for any and all comments, advice, instruction, code, kinder and gentler criticism... but please educate.