Дано два массива
Найти строки Первого массива , сумма элементов которых больше суммы элементов в строках Второго массива.
И нужно эти строки поменять местами.
Вот программа как менять местами не знаю.Помогите
C |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
| #include <stdio.h>
#include <time.h>
void main()
{
int const n = 3;
int const m = 5;
int const k = 3;
int LL[n][m];
int PER[k][m];
int i,j,s1,summstr,s2,summstr2; //sumstr-сумма в строке
srand(time(NULL));
printf ("Ishodnuy masuv LL\n");
for ( i = 0; i < n; i++)
{
for ( j = 0; j < m; j++)
{
LL[i][j] = rand() % 10 + 1;
printf ("%3d ",LL[i][j]);
}
printf ("\n");
}
for (i=0;i<n;i++)
{
s1=0;
for (j=0;j<m;j++)
s1+=LL[i][j];
summstr=i;
printf ("%d ",summstr);
printf ("%d ",s1);
}
printf ("\n");
printf ("\n\n");
printf ("Ishodnuy PER\n");
for ( i = 0; i < k; i++)
{
for ( j = 0; j < m; j++)
{
PER[i][j] = rand() % 10 + 1;
printf ("%3d ",PER[i][j]);
}
printf ("\n");
}
for (i=0;i<n;i++)
{
s2=0;
for (j=0;j<m;j++)
s2+=PER[i][j];
summstr2=i;
printf ("%d ",summstr2);
printf ("%d ",s2);
}
printf ("\n");
printf ("\n\n");
} |
|
Добавлено через 49 минут
Добавлено через 11 минут
Тут меняю местами,может не правильно,тоисть надо поменять,строки двух массивов,где в Первому сумма элементов больше чем в Втором массиве.Если в 1 строке Первого массива сумма элементов 30,а в Втором массиве в 1 строке сумма 20 то надо поменять местами.
Когда пишу уловие перед сортировкой,мне ничего не меняет
C |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
| #include <stdio.h>
#include <time.h>
void main()
{
int const n = 3;
int const m = 5;
int const k = 3;
int LL[n][m];
int PER[k][m];
int i,j,s1,summstr,s2,summstr2,max1,max_num1,max2,max_num2,tmp; //sumstr-сумма в строке
srand(time(NULL));
printf ("Ishodnuy masuv LL\n");
for ( i = 0; i < n; i++)
{
for ( j = 0; j < m; j++)
{
LL[i][j] = rand() % 10 + 2;
printf ("%3d ",LL[i][j]);
}
printf ("\n");
}
for (i=0;i<n;i++)
{
s1=0;
max1=0;
for (j=0;j<m;j++)
s1+=LL[i][j];
summstr=i;
if (s1>max1)
{
max1=s1;
max_num1=i;
}
printf ("%d ",summstr);
printf ("%d ",s1);
printf ("\n");
printf ("Maxumalne 4uclu %i =%d ",max1,max_num1);
printf ("\n");
}
printf ("\n");
printf ("\n\n");
printf ("Ishodnuy PER\n");
for ( i = 0; i < k; i++)
{
for ( j = 0; j < m; j++)
{
PER[i][j] = rand() % 10 + 1;
printf ("%3d ",PER[i][j]);
}
printf ("\n");
}
for (i=0;i<n;i++)
{
s2=0;
max2=0;
max_num2=0;
for (j=0;j<m;j++)
s2+=PER[i][j];
summstr2=i;
if (s2>max2)
{
max2=s2;
max_num2=i;
}
printf ("%d ",summstr2);
printf ("%d ",s2);
printf ("\n");
printf ("Maxumalne 4uclu %i =%d ",max2,max_num2);
printf("\n");
}
printf ("\n");
printf ("\n\n");
for (j=0;j<m;j++)
{
tmp=LL[max_num1][j];
LL[max_num1][j]=PER[max_num2][j];
PER[max_num2][j]=tmp;
}
printf ("Novui masuv\n");
for (i=0; i<n; i++) {
for (j=0; j<m; j++) {
printf("%3d ", LL[i][j]);
}
printf("\n");
}
} |
|