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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2009, 00:00   #1
girkoff
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 71
По умолчанию Помогите пожалоста отредактировать программу

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

Код:
#include<stdio.h>
#include <conio.h>
void main ()
{
clrscr();
int a[10],b[10],c[20];
int i,j,k;
printf("vvedite massiv: ");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
printf("vvedite massiv 2: ");
for (j=0;j<10;j++)
scanf("%d",&a[j]);
for (k=0;k<20;k++)
if (a[i]<b[j])
{
c[k]=a[i];
i++;
}
else
{
c[k]=b[j];
j++;
}
printf("Poluchennyi rezultat: ");
for (k=0;k<20;k++)
printf("%d",c[k]);
}
Если долго мучаться, что нибудь получится!!!

Последний раз редактировалось MaTBeu; 31.03.2009 в 18:55.
girkoff вне форума Ответить с цитированием
Старый 31.03.2009, 01:07   #2
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию

не знаю сильно я тебе помогу или нет, я новичок в этом деле
ну во-первых ты вводиш2 раза массив а (a[i] и a[j]),
а во-вторых посмотри как следует цикл где идёт проверка и запись в массив c[k]. там ты в конце записываешь b[9] а потом пытаешься записать b[10]. отпишись если я чем нить помог
DeFace вне форума Ответить с цитированием
Старый 31.03.2009, 01:19   #3
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию

Код:
for (i=0;i<10;i++)
scanf("%d",&a[i]);
printf("vvedite massiv 2: ");
for (j=0;j<10;j++)
scanf("%d",&a[j]);
здесь ошибка ,ты второй раз снова в массив a вводишь,а должно быть
Код:
for (i=0;i<10;i++)
scanf("%d",&a[i]);
printf("vvedite massiv 2: ");
for (j=0;j<10;j++)
scanf("%d",&b[j]);

Последний раз редактировалось bondik; 31.03.2009 в 01:26.
bondik вне форума Ответить с цитированием
Старый 31.03.2009, 01:25   #4
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию

Вы ток не ругайтесь прост время уже 4 30 вообщем советую так склей вначале 2 массива в 1,например
Код:
for(int i=0;i<11;i++)
c[i]=a[i];
for(int i=0;i<11;i++)
c[i+10]=a[i];
а потом массив c упорядочи пузырьком тем же...
и для осознания те проще =)
bondik вне форума Ответить с цитированием
Старый 31.03.2009, 04:01   #5
Peter20
 
Регистрация: 31.03.2009
Сообщений: 6
По умолчанию

зачем пузырек? Задача слияния 2 упорядоченных массивов в 1 это один из двух
моментов сортировки слиянием
Peter20 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОЖАЛОСТА ПОМОГИТЕ С ЗАДАЧКОЙ.ОЧЕНЬ ПРОШУ.Спасибо NiKe18 Помощь студентам 2 12.02.2009 15:14
Delphi Работа с файлами. Помогите пожалуйста отредактировать программу)) katia230990 Помощь студентам 10 03.06.2008 17:14
помогите отредактировать прогу finch Помощь студентам 3 25.06.2007 07:42
Не могу понять как отредактировать программу asale Microsoft Office Excel 1 31.01.2007 20:57