求用排列编一个c语言的程序

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:13:35
求编一个程序,用排列,求3个向量的和
数据要从.in文件里读取

.in文件如下:
4
10.0 5.0 6.0
32.0 7.0 9.0
50.0 4.0 5.0
10.5 2.4 5.0

第1列的数是在第1个向量里的
第2列的数是在第2个向量里的
第3列的数是在第3个向量里的

输出大概是:
Element Value
0 21.000000
1 48.000000
2 59.000000
3 17.900000

其中value那一列,就是3个向量的和了

有点复杂,我一定追加到最高分以示感谢
``

#include <stdio.h>

/*交换两个数*/
void Swap(int &a, int &b)
{
int tmp;
tmp = a;
a = b;
b = tmp;
}
/*输出一行十个数字*/
void Write(int array[], int begin, int end)
{
for(int i = begin; i <= end; i ++)
// cout <<array[i] << " ";
printf("%d ",array[i]);
printf("\n");
// cout << endl;
}
/*插入排序*/
void InsertionSort(int array[], int begin, int end)
{
int i, j;
int tmp;
for(i = begin+1; i <= end; i ++) /*循环几次就输出几行*/
{
tmp = array[i];
for(j = i-1; j >= begin; j --)
{
if(tmp > array[j]) /*如果要从小到大排序,则改将'>'改为'<'*/
array[j + 1] = array[j];
else
break;
}
array[j+1] = tmp;
Write(array, begin, end); /*输出排序结果(一行)*/
}
}
/*选择排序*/
void SelectionSort(int array[], int begin, int end)
{