Я пытаюсь отсортировать два массива в порядке убывания, но всякий раз, когда я выполняю код, я не получаю вывод в порядке убывания, вместо того, чтобы повторять введенный элемент снова и снова.
#include <stdio.h>
void main()
{
int arr1[100], arr2[100], arr3[200];
int s1, s2, s3;
int i, j, k;
printf("enter the number for first array :");
scanf("%d",&s1);
for(i=0;i<s1;i++)
{
printf("element - %d : ",i);
scanf("%d",&arr1[i]);
}
printf("enter the number for first array :");
scanf("%d",&s2);
for(i=0;i<s2;i++)
{
printf("element - %d : ",i);
scanf("%d",&arr2[i]);
}
s3 = s1 + s2;
//here i am merging two arrays in a third int variable that is arr3
for(i=0;i<s1; i++)
{
arr3[i] = arr1[i];
}
for(j=0;j<s2; j++)
{
arr3[i] = arr2[j];
i++;
}
for(i=0;i<s3; i++)
{
for(k=0;k<s3-1;k++)
{
if(arr3[k]<=arr3[k+1])
{
j=arr3[k+1];
arr3[k]=j;
}
//printf("the value of %d of [%d] is : %d \n" ,i,k, arr3[k]);
}
}
//here i am printing the sorted array in descending order
for(i=0;i<s3;i++){
printf("%d" , arr3[i]);
}
}
пожалуйста, помогите мне с внутренней петлей k.
я думаю, что именно здесь я что-то упускаю.