Форум программистов, компьютерный форум CyberForum.ru

Отсортировать буквы в словах предложения в порядке убывания - C++

Восстановить пароль Регистрация
 
nazarkoo
6 / 6 / 0
Регистрация: 02.01.2010
Сообщений: 60
05.06.2010, 13:32     Отсортировать буквы в словах предложения в порядке убывания #1
в общем такой вопрос, вот код программы, которая сортирует буквы в словах предложения в порядке убывания.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <string.h>
#include <stdio.h>
# include <conio.H>
# include <alloc.h>
 
char * sort (char * word)
{
  int i =0,j;
  char c;
  while (word[i] != '\0')
  {
   j = i;
   while (word[j] != '\0')
    { if ( word[i] < word[j])
    { c = word[i];
      word[i] = word[j];
      word[j] = c;
    }
     j++;
    }
   i++;
  }
  return word;
}
 
int main()
{
   char  sentence [256],  *word;
   int i;
   clrscr();
   puts("Vvedite predlogeniye");
   gets (sentence);
   word=(char *)malloc(50);
   i=0;
   word = strtok(sentence, " ");
   word = sort(word);
   if (word)   printf("%s\n", word);
 
   while (sentence[i] != '\0')                                       //!
   { word = strtok(NULL, " ");                                      //!
     word = sort(word);                                              //!
     if (word)   {printf("%s\n", word); i=0;} else i++;             //!
   }
   getche ();
   return 0;
}
вопрос такой: объясниет пожалуйста строки помеченные восклецательным знаком. почему в фукцию strtok поместили NULL в качестве строки.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2010, 13:32     Отсортировать буквы в словах предложения в порядке убывания
Посмотрите здесь:

Отсортировать элементы с четными индексами в порядке убывания, нечетные - возрастания C++
C++ Отсортировать строки матрицы в порядке убывания
C++ Отсортировать столбцы матрицы в порядке убывания сумм простых чисел столбцов
Отсортировать массив М и строки матрицы А в порядке убывания C++
C++ Отсортировать 3 числа в порядке убывания
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mrMRak
38 / 38 / 3
Регистрация: 02.06.2010
Сообщений: 105
05.06.2010, 15:53     Отсортировать буквы в словах предложения в порядке убывания #2
с помощью NULL - ей сказали продолжать разбивать на лексемы строку word, начиная с ячейки последнего применения strok.

почитайте документацию к этой функции. там все ясно.
nazarkoo
6 / 6 / 0
Регистрация: 02.01.2010
Сообщений: 60
05.06.2010, 16:34  [ТС]     Отсортировать буквы в словах предложения в порядке убывания #3
Спасибо. Сейчас так и сделаю.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
05.06.2010, 16:40     Отсортировать буквы в словах предложения в порядке убывания #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int cmp_func(const void *a, const void *b) {
    return *(char*)b - *(char*)a;
}
 
#define SPACES " \t\n"
 
int main(void) {
    char buf[BUFSIZ], * p;
 
    printf("String: ");
    if ( ! fgets(buf, BUFSIZ, stdin) ) {
        perror("fgets");
        exit(EXIT_FAILURE);
    }
    if ( *buf == '\n' ) {
        fprintf(stderr, "Empty string!\n");
        exit(EXIT_FAILURE);
    }
 
    printf("Result: ");
    for ( p = strtok(buf, SPACES); p; p = strtok(NULL, SPACES) ){
        qsort(p, strlen(p), 1, cmp_func);
        printf("%s ", p);
    }
 
    printf("\n");
    exit(EXIT_SUCCESS);
}
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
05.06.2010, 19:48     Отсортировать буквы в словах предложения в порядке убывания #5
Цитата Сообщение от nazarkoo Посмотреть сообщение
Спасибо. Сейчас так и сделаю.
вот почитай про функции работы там strtok 3я снизу, простой и понятный пример Библиотека cstring. Работа со строками.
Yandex
Объявления
05.06.2010, 19:48     Отсортировать буквы в словах предложения в порядке убывания
Ответ Создать тему
Опции темы

Текущее время: 09:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru