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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2012, 19:02   #1
Jess Mailes
Пользователь
 
Регистрация: 06.04.2012
Сообщений: 10
По умолчанию использование каналов в "с"

Написать программу, которая со входа читает последовательность слов и сортирует её по возрастанию пузырьковым методом. Запрещается считывать в память более 2х слов одновременно. Для хранения промежуточной информации использовать канал.

Код я написала, но без каналов, помогите разобрать с каналами.

#include <stdio.h>
#include <string.h>
void booble_sort (char *str, int n);
char * slovo (char *str, int n, int &i);
int main()
{
char *str = new char [250];
gets(str);
int n = strlen (str);
booble_sort(str, n);
puts(str);
return 0;
}
void booble_sort (char *str, int n)
{
int k=0;
int z;
int h;
int j=0;
int j1;
int j2;
bool f=false;
int i=0;
char *s1;
char *s2;
s1 = slovo (str, n, i);
if(str[i]=='\0')
return;
i++;
z = strlen (s1);
s2 = slovo (str, n, i);
h = strlen (s2);
while (!f)
{
f=true;
while(str[j]!='\0')
{
j=k;
if (h<z)
{
f=false;
j1=0,j2=0;
while (s2[j2]!='\0')
{
str[j]=s2[j2];
j++;
j2++;
}
str[j]=' ';
j++;
k=j;
while (s1[j1]!='\0')
{
str[j]=s1[j1];
j++;
j1++;
}
if(str[i]!='\0')
{
i++;
s2 = slovo (str, n, i);
h = strlen (s2);
}
}
else
{
strcpy(s1,s2);
k+=z+1;
z=h;
if(str[i]!='\0')
{
i++;
s2 = slovo (str, n, i);
h = strlen (s2);
}
}
}
i=0;
j=k=0;
s1 = slovo (str, n, i);
z = strlen (s1);
i++;
s2 = slovo (str, n, i);
h = strlen (s2);
}
}
char * slovo (char *str, int n, int &i)
{
char *s3;
s3 = new char [n];
int j=0;

while (str[i]!=' ' && str[i]!='\0')
{
s3[j]=str[i];
j++;
i++;
}
s3[j]='\0';
return s3;
}

Последний раз редактировалось Jess Mailes; 21.05.2012 в 19:41.
Jess Mailes вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
каналы и сигналы в си(я запуталась в задаче) Reginsi Помощь студентам 7 04.01.2012 17:29
Анонимные каналы RAZOR1703 Win Api 1 29.11.2011 21:47
Переключение каналов через пульт на 2-3 значные каналы sSsantasSs JavaScript, Ajax 71 07.07.2010 20:17
Межпроцессное взаимодействие. Каналы. Zefick Win Api 3 02.03.2009 20:48