#include #include int train[150]; FILE *fp; int sets; int swapcnt; int count; void swap(int *en, int *to) { int tmp; tmp = *en; *en = *to; *to = tmp; } void swappings() { int i, j; for (i = 0; i < count; ++i) for (j = i; j < count; ++j) if (train[i] > train[j]) { swap(&train[i], &train[j]); swapcnt++; } } int main(int argc, char **argv) { int i,j,k,l,m; FILE *fp2; char temp[] = "train.in"; printf("kjører...\n"); if (!(fp = fopen(temp, "r"))) { printf("kan ikke åpne inputfil.\n"); return 1; } fp2 = fopen("train.out", "w"); fscanf(fp, "%i", &sets); for (i = 0; i < sets; ++i) { fscanf(fp, "%i", &count); if (count > 0) { swapcnt = 0; for (j = 0; j < count; ++j) { fscanf(fp, "%i", &train[j]); } swappings(); fprintf(fp2, "Optimal train swapping takes %i swaps.\n", swapcnt); } else fprintf(fp2, "Optimal train swapping takes 0 swaps.\n", swapcnt); } printf("ok.\n"); return 0; }