motofan logo
> 

Программисты на С/С++, помогите пожалуйста

sasha45
сообщение 24.1.2008, 14:53


Ветеран
*****

Группа: Пользователи
Сообщений: 580
Регистрация: 13.7.2005
Из: Санкт-Петербург
Пользователь №: 46 095
Модель телефона: Motorola RIZR Z3

Рейтинг: 56



Здравствуйте. Нужна помощь в написании функции. Я никак не могу сообразить. Программа сама пос ебе простая, но я не могу что-то сообразить, как реализовать на компьютере свои мысли.
В общем пользователь вводит строку, слова в строке разделяются пробелами и знаками препинания. Нужно сформировать новую строку, которая является преобразованием старой по след. правилу: упорядочить слова в строке в алфавитном порядке.

Ввод строки я написал. Благо тут ничего сложного нету.
Код

char *vvod_str(char *str)
  {
    // Массив для хранения исходной строки
    char a[81];
    int i, exit=0;
    int bul;
    do
      {
    clrscr();
    bul=1;
    printf("\n Введите строку: ");
    // Как только нарушится условие bul==1
    // работа цикла прекращается
    for(i=0;bul==1;i++)
      {
        a[i]=getchar();
        if('\n'==a[i])
          {
        a[i]='\0';
        str=(char*)calloc(i+1,1);
        strcpy(str,a);
        exit=1;
        bul=0;
          }
      /*  else
          bul=0; */
      }
      }
    while(exit==0);
    return(str);
  }


Далее идет функция обработки строки. Начало где-то такое:

Код

// В функцию передается введенная пользователем строка
char *obrabotka(char *str)
  {
    // Для работы с исходной строкой
    char *tmp;
    int i,j,k;
    // Массив, в котором каждое слово строки это строка массива
    char mas_slov[81][81];
    
    // Передаем исходную строку в функцию, присваивая её переменной tmp
    tmp=str;
    while(checkChar(tmp)!=0)
      {
        // Если разделитель
        if(checkChar(tmp)==0)
          // Идем посимвольно дальше
          tmp++;
       ........ а вот что делать дальше не могу понять.
        Как записать слово в строку двумерного массива.



А, да. Функция checkChar - функция проверки разделителей, которая возвращает целое значение 0, если в строке встретился разделитель, и возвращает 1, если это символ (буква или цифра).

Помогите пожалуйста написать функцию обработки.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме

Программисты на С/С++, помогите пожалуйста · Обо всём · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.7.2025, 18:05

Форум живёт: