Witam,
Mam problem z tym zadaniem: Dane są dwie tablice jednowymiarowe o rozmiarach N1 i N2, w których elementy są posortowane w kolejności
niemalejącej. Elementy obu tablic przepisać do tablicy jednowymiarowej o rozmiarze N1+N2 w taki sposób aby
zachować niemalejącą kolejność elementów. Nie stosować sortowania! Nie stosować instrukcji break.
Jakis kod stworzylem, ale chyba z wykorzystaniem sortowania, bo wpierw połączyłem te dwie tablice w jedno, a nastepnie, stworzylem dwie pętle tak jak w kodzie ponizej, ale nawet nie sortuje mi tej połączonej tablicy tylko wypisywane są jakieś śmieci ;/ Ktoś pomoże? Nie jestem dobry z programowania na chwile obecna ;/
Kod który wykombinowałem:
/* Dane są dwie tablice jednowymiarowe o rozmiarach N1 i N2, w których elementy są posortowane w kolejności
niemalejącej. Elementy obu tablic przepisać do tablicy jednowymiarowej o rozmiarze N1+N2 w taki sposób aby
zachować niemalejącą kolejność elementów. Nie stosować sortowania! Nie stosować instrukcji break.
*/
#include <stdio.h>
#define N1 7
#define N2 5
int main()
{
int tab1[N1]={5, 7, 22, 61, 156, 554, 1111};
int tab2[N2]={1, 4, 58, 177, 3467};
int tab3[N1+N2];
int i, j, k;
printf("Tablica nr 1:\n");
for(i=0; i<N1; i++)
{
printf("%d\n", tab1[i]);
}
printf("Tablica nr 2:\n");
for(i=0; i<N2; i++)
{
printf("%d\n", tab2[i]);
}
printf("Tablica nr 3:\n");
for(i=0; i<N1+N2; i++)
{
if(i<N1)
{
tab3[i]=tab1[i];
printf("%d\n", tab3[i]);
}
if(i<N2)
{
tab3[i]=tab2[i];
printf("%d\n", tab3[i]);
}
}
printf("Posortowana rosnaca tablica nr 3:\n");
for(i=0; i<N1+N2; i++)
{
for(j=0; j<N1+N2; j++)
{
if(tab3[i]>tab3[j])
{
printf("%d\n", tab3[j]);
}
}
printf("%d\n", tab3[i]);
}
return 0;
}