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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2009, 20:39   #1
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
Печаль Помогите доделать код на Си

Код:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define max 100
void gen( int k, int h, int j, int x[max]);
void out (int k, int x[max]);
void BubbleSortInd (int k, int x[max]);
void BubbleSort (int k, int x[max]);
void main()
{
int t[max],n,a,b;
do
{
printf ("\nВведите кол-во элементов массива n (n<=50): ");
scanf ("%d",&n);
}
while (n>max);
printf ("Введите a и b: ");
scanf ("%d%d",&a,&b);
gen(n,a,b,t);
printf ("Сгенерированн массив: \n");
out(n,t);
printf("\nПолученный: \n");
BubbleSortInd(n,t); 
out(n,t);
}

void gen( int k, int a, int b, int x[max])
{
int i;
srand (time(NULL)*1000);
for (i=0;i<k;i++)
{

x[i]=(rand()*1.0/(RAND_MAX)*(a-b)+b);

}
}

void out (int k, int x[max])
{
int i;
for (i=0;i<k;i++)
printf ("%d ",x[i]);

} 



void BubbleSortInd (int k, int x[max])
{
int i,tek,mx,el;
el = 0;
tek=mx=1;
for(i=1; i<=k+1; i++)
if(i==k || x[i]!=x[i-1])
{
if(tek>mx) { mx = tek; el = i-1; }
tek = 1;
}
else tek++;
++k;
for(i=k+1; i>=el+1; i--)
x[i] = x[i-1];
x[el+1] = x[el];
}
Здесь нужно увеличить каждую максимальную серию на один элемент!
Например:
Был массив==>
x[0]=4
x[1]=1
x[2]=9
x[3]=9
x[4]=9
x[5]=6
x[6]=6
x[7]=9
x[8]=9
x[9]=9
А надо:
x[0]=4
x[1]=1
x[2]=9
x[3]=9
x[4]=9
x[5]=9
x[6]=6
x[7]=6
x[8]=9
x[9]=9
x[10]=9
x[11]=9

Модератор: тег CODE
Программист без пива, как спирт без пробки - выдохнется___________-

Последний раз редактировалось Sazary; 08.06.2009 в 21:33.
osichev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите доделать код!!НА СИ osichev Помощь студентам 0 08.06.2009 20:27
помогите доделать innaa639 Паскаль, Turbo Pascal, PascalABC.NET 1 21.05.2009 09:52
Помогите доделать Bay Паскаль, Turbo Pascal, PascalABC.NET 1 05.01.2009 15:01
Помогите доделать код! Al3x Общие вопросы C/C++ 6 22.12.2008 19:06
Помогите доделать Povar Паскаль, Turbo Pascal, PascalABC.NET 1 16.05.2008 14:43