Показать сообщение отдельно
  #1  
Старый 04.08.2013, 21:44
MahovIV MahovIV вне форума
Новичок
 
Регистрация: 30.12.2012
Сообщения: 77
Репутация: 10
По умолчанию Слияние двух убывающих массивов в один убывающий массив

У меня проблема с задачей, в которой нужно соединить два убывающих массива в один убывающий массив. Программа выглядит так.
Код:
#include <stdio.h>
#include <conio.h>

int main() {

	int F, L, a[100], b[100], c[200], k = 0, i = 0, m = 0;
	scanf("%d", &F);
	for(k = 0; k < F; k++) {
		scanf("%d", &a[k]);
	}
	scanf("%d", &L);
	for(i = 0; i < L; i++) {
		scanf("%d", &b[i]);
	}
	do {
		if(b[i] > a[k]) {
			c[m] = b[k];
			m++;
			k++;
		}
		else
			if(a[k] > b[i]) {
				c[m] = a[k];
				m++;
				k++;
			}
			else {
				c[m] = a[k];
				m++;
				k++;
				c[m] = b[i];
				m++;
				i++;
			}
	}
	while(k < F && i < L);
	while(k < F) {
		c[m] = a[k];
		m++;
		k++;
	}
	while(i < L) {
		c[m] = b[i];
		m++;
		i++;
	}
	for(i = 0; i < m - 1; i++) {
		printf("%d ", c[i]);
	}
	printf("%d\n", c[m - 1]);
	getch();
	return 0;
}
Ответить с цитированием