Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2016, 22:14   #1
iyoulka
 
Регистрация: 29.04.2016
Сообщений: 6
По умолчанию даны 2 массива,упорядоченные по убыванию,получить из них третий,в котором элементы расположены по возрастанию не могу реализовать

даны 2 массива,упорядоченные по убыванию,получить из них третий,в котором элементы расположены по возрастанию
не могу реализовать ввод с клавиатуры,это обязательное условие



рабочий код,без ввода с клавиатуры

Код:
#include <stdio.h>
#include <conio.h>

void main()
{



const int sz_A = 6, sz_B = 6, sz_C = sz_A + sz_B;
short A[sz_A] = { 10, 5, 4, 3, 1 ,0 };
short B[sz_B] = { 11, 9, 8, 7, 5,1 }, C[sz_C];

int i = 0, j = 0, k = 0; // переменные счетчики, для обращения к индексам массивов

for (k = 0; k<sz_C; k++)
{
if (i<sz_A && j<sz_B) // проверка окончания какого-либо из двух массивов 
{
if (A[i]>B[j]) // сравнение элементов массивов и помещение меньшего в третий массив
{
C[k] = A[i];
i++;
}
else
{
C[k] = B[j];
j++;
}
}
else

/* если какой-то из массивов закончился, заполнить конечный массив элементами
оставшегося */
{
for (; k<sz_C; k++) {
if (i<sz_A) {
C[k] = A[i]; i++;
}
if (j<sz_B) {
C[k] = B[j]; j++;
}

}

}

}
// вывод результирующего массива
for (k = 0; k<sz_C; k++) {
printf("%d ", C[k]);
}

_getch();
}
помогите.пожалуйста
мой код с попытками ввода с клавиатуры,в результате-мусор.





Код:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
#define n 5
void main()
{	// переменные счетчики, для обращения к индексам массивов
//const int sz_A = 5, sz_B = 5, cz_C=10;
int A[n], i;
printf("Vvedite 5 elementov 1ogo massiva: ");
for (i = 0; i < n; i++)
{
printf("", i);
scanf("%d", &A[i]);
}
int B[n], j;
printf("Vvedite 5 elementov 2ogo massiva:");
for (j = 0; j < n; j++)
{
printf("", j);
scanf("%d", &B[j]);
}
int sz_C = 10;
int C[5], k;

for (k = 0; k<sz_C; k++)
{
if (i<n && j<n) // проверка окончания какого-либо из двух массивов 
{
if (A[i]>B[j]) // сравнение элементов массивов и помещение меньшего в третий массив
{
C[k] = A[i];
i++;
}
else
{
C[k] = B[j];
j++;
}
}
else
/* если какой-то из массивов закончился, заполнить конечный массив элементами
оставшегося */
{
for (; k<sz_C; k++) {
if (i<n) {
C[k] = A[i]; i++;
}
if (j<n) {
C[k] = B[j]; j++;
}
}
}
}	// вывод результирующего массива
for (k = 0; k<sz_C; k++) {
printf("%d ", C[k]);
}

_getch();
}

Последний раз редактировалось iyoulka; 29.04.2016 в 22:26.
iyoulka вне форума Ответить с цитированием
Старый 30.04.2016, 17:25   #2
nworm
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 15
По умолчанию

Вместо
Цитата:
int C[5], k;
Нужно
Цитата:
int C[10], k;
i = 0; j = 0;
nworm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В прямоугольной матрице определить столбец, в котором все элементы расположены в порядке возрастания их значений (Unit и Program) 6565 Паскаль, Turbo Pascal, PascalABC.NET 5 08.06.2014 21:06
Расположены ли столбцы исходного массива в порядке возрастания количества положительных элементов в них emdroof C# (си шарп) 2 26.11.2012 19:57
C# WinForms (Расположены ли столбцы исходного массива в порядке возрастания количества положительных элементов в них) emdroof Помощь студентам 16 26.11.2012 19:39
Из двух упорядоченных по возрастанию массивов, получить третий, упорядоченный по возрастанию.(в обычном варианте и через bufalo C# (си шарп) 4 17.10.2011 14:52
Не могу получить элементы массива. Help!!! C++/CLR i-cpp Общие вопросы .NET 1 06.12.2009 23:58