Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 33
1

Поменять местами первое и последнее слово в строке без использования указателей

09.04.2017, 12:22. Показов 2177. Ответов 1

Как я понял нужно использовать пробел как разделитель слов, но как это реализовать я не знаю.
0
Лучшие ответы (1)
Заказывайте контрольные, курсовые и дипломы здесь.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2017, 12:22
Ответы с готовыми решениями:

Строка символов. Поменять местами первое и последнее слово в строке
Есть задание: Дана строка символов. Поменять местами первое и последнее слово в строке. На сколько...

Определить в K-ой строке файла fin.txt первое и последнее слово, поменять их местами
Дано: в текстовом файле fin.txt находится текст на русском языке. С клавиатуры вводится число K....

Поменять местами первое и последнее слово в строке
задача: поменять местами первое и последнее слово в строке. проблема некорректно определяется...

Поменять местами в строке первое и последнее слово
Ребят,помогите пожалуйста,с решением задачки,если не трудно...Собственно,задачка: Словом текста...

1
93 / 40 / 23
Регистрация: 18.09.2016
Сообщений: 374
09.04.2017, 18:42 2
Лучший ответ Сообщение было отмечено kolyasik583 как решение

Решение

Для поиска кол - ва слов в строке.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int CntWord ( char *string )
{
    int i = 0, count = 0; // переменная для счётчика и для кол - ва слов в строке
    Bool flag = TRUE;
    char *ptr = string;
    int cnt = strlen ( ptr );
    while( i < cnt )
    {
        while( flag && ptr[i] == ' ') i++; // на случай абзаца
        if( flag )  flag = FALSE;
        if( ptr[i] == ' ' || ptr[i] == ',' )  count++;
        while( ptr[i] == ' ' || ptr[i] == ',') i++; // увеличиваем значение счётчика пока не встретим допустимый символ
        i++;
    }
    return count + 1;
}
Для записи каждого слова в отдельный массив.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
for ( i = 0, j = 0, k = 0; i < cntword; i++, j++)
    {
        while(  ptr[j] != ' ' && ptr[j] != ',' && j < count )
            {
            str[i][k] = ptr[j];
            k++;
            j++;
            }
            str[i][k] = '\0';
            k = 0;
        while( ptr[j] == ' ' || ptr[j] == ',') { j++; if( !flag ) flag = TRUE; }
        if( flag ) { j = j - 1; flag = FALSE; }
    }
Дальше используешь strcat и клеишь строку, как хочешь.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2017, 18:42

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Поменять местами первое и последнее слово в строке
Мне нужна помощь. Помогите сделать это задание Создать файл, в который записываются исходные...

Поменять местами первое и последнее слово в строке
Доброе время суток. Как вы видите, у меня очередная проблема. На этот раз связанная со Си-строками....

Поменять местами в строке первое и последнее слово
Дана строка. Словом текста считается любая последовательность цифр; между соседними словами - не...

Поменять местами первое и последнее слово в строке
помогите поменять местами первое и последнее слово в строке. Язык Делфи Добавлено через 8 минут...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.