[ create a new paste ] login | about

Link: http://codepad.org/VFwZacGo    [ raw code | output | fork ]

C++, pasted on Nov 2:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <memory.h>

#define N 5

int main(int argc, char* argv[])
{
	double** A = new double*[N];
	memset((void*)A, 0x00, 4 * N);

	for (int t1 = 0; t1 < N; t1++)
	{
		A[t1] = new double[N];
		for (int t2 = 0; t2 < N; t2++)
		{
			A[t1][t2] = (double)rand() / RAND_MAX;
			printf("%f ",A[t1][t2]);
		}

		printf("\n");
	}

	double avg = 0;
	for (int i = 0; i < N; i++)
		for (int j = 0; j < N; j++)
			avg+=(double)A[i][j] / pow((double)N,2);

	double min = 0;
	int min_i = 0, min_j = 0;
	for (int k1 = 0; k1 < N; k1++)
		for (int k2 = 0; k2 < N; k2++)
		{
			double dist = abs(A[k1][k2] - avg);
			if (dist < min || min == 0) { min = dist; int min_i = k1; min_j = k2; }
		}

	printf("\navg = %f A[%d][%d] = %f\n",avg,min_i,min_j,A[min_i][min_j]);
}


Output:
1
2
3
4
5
6
7
0.840188 0.394383 0.783099 0.798440 0.911647 
0.197551 0.335223 0.768230 0.277775 0.553970 
0.477397 0.628871 0.364784 0.513401 0.952230 
0.916195 0.635712 0.717297 0.141603 0.606969 
0.016301 0.242887 0.137232 0.804177 0.156679 

avg = 0.526890 A[0][3] = 0.798440


Create a new paste based on this one


Comments: