【发布时间】:2013-11-21 19:57:27
【问题描述】:
我是编程初学者,但遇到了问题。 我必须创建二维数组 [5][3] ... 让我们说这是其中一部分的示例:
- 2 3 4
- 7 8 9
- 5 6 7
然后我必须得到行的总和并将其写在此旁边:
- 2 3 4 9
- 7 8 9 24
- 5 6 7 18
现在,我必须按这个总和对数组进行排序,所以结果如下所示:
- 7 8 9 24
- 5 6 7 18
- 2 3 4 9
我不知道如何实现,这是我的代码:
#include <iostream>
#include <time.h>
using namespace std;
void tocke(int polje[5][3])
{
int vsota;
srand(time(NULL));
int sums[5];
for (int i = 0; i < 5; i++)
{
vsota = 0;
cout << endl;
cout << i + 1 << ". ";
for (int j = 0; j < 3; j++){
polje[i][j] = (rand() % 10 + 1);
vsota += polje[i][j];
sums[i] = vsota;
cout << polje[i][j] << " ";
}
}
}
void urejaj(int polje[5][3])
{
cout << "\n\n\n\n" << endl;
int sums[5];
int vsota ;
double temp;
for (int i = 0; i < 5; i++)
{
vsota = 0;
cout << endl;
cout << i + 1 << ". ";
for (int j = 0; j < 3; j++)
{
vsota += polje[i][j];
sums[i] = vsota;
if (sums[i] < sums[i+1])
{
temp = polje[i][j];
polje[i][j] = polje[i + 1][j];
polje[i + 1][j] = temp;
}
cout << polje[i][j] << " ";
}cout << sums[i];
}
}
int main()
{
int polje[5][3];
tocke(polje);
urejaj(polje);
cout << "\n";
system("pause");
return 0;
}
第一个函数在字段中写入元素,第二个函数必须对字段进行排序。
【问题讨论】:
-
求和后,尝试将数组复制到新数组,但顺序正确。
-
你可以创建一个比较两个多维数组的函数,然后比较前两个数组,然后将前两个数组的结果与第三个数组比较?