All pastes #778422 Raw Edit

Stuff

public c v1 · immutable
·published 2007-11-17 15:41 UTC
rendered paste body
#include <stdio.h>#include <stdlib.h>#define N 5 int findMin(int a[][N], int k);int searchMe(int a[][N], int k, int compare);int minAtLast(int c[N]);int main(int argv,char **argc){	FILE *fmatrix;	int a[N][N];	int b[N][N];	int c[N];	int i,j,min;	int minimum = 0;	fmatrix = fopen(argc[1], "r");	if (fmatrix == NULL) {		printf("Can't read %s", argc[1]);		return 1;	}	else {	// diavazei ton katw trigwniko pinaka apo to arxeio		while (!feof(fmatrix)) {			for (i = 0; i < N; i++) {				for (j = 0; j < i+1; j++) {					fscanf(fmatrix, "%d", &a[i][j]);				}				}		}	}	for (i = 0; i < N; i++) { // "anoigei" ton pinaka metatrepontas ton apo anw trigwniko se tetragwniko		for (j = 0; j < N; j++) {		a[i][j] = a[j][i];		}	}	for (i = 0; i < N; i++) { // typwnei ton pinaka		for (j = 0; j < N; j++) {			printf("%d ", a[i][j]);		}		printf("\n");	}	printf("\n");		for (i = 0; i < N; i++) {		int where = i;		minimum = 0;		for (j = 0; j < N; j++) {			min = findMin(a,where);			minimum += min;			where = searchMe(a,where,min);			b[i][j] = where;		}		c[i] = minimum;	}		for (i = 0; i < N; i++) {			for (j = 0; j < N; j++) { 				printf("%d\t", b[i][j]);			}			printf("\n");		}	printf("%d\n", minAtLast(c));		}		int minAtLast(int c[N]){	int j;	int min = c[0];	for (j = 1; j < N; j++) 		if (c[j] < min) min = c[j];		return min;}int findMin(int a[][N], int k){	int j;	int min = a[0][0];				for (j = 0; j < N; j++) {			if (min == 0) min = a[k][j];			if ((a[k][j] < min) && (a[j][k] != 0)) min = a[j][k];			}	return min;}int searchMe(int a[][N], int k, int compare){	int j;	for (j = 0; j < N; j++) {		if (a[k][j] == compare) return j;		}}