Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверка переполнения double https://www.cyberforum.ru/ cpp-beginners/ thread39388.html
Добрый день! Подскажите пожалуйста, где можно почитать теорию. Нужно решить задачу, написать функции на С++, которые бы проверяли переполнение при сложении и умножении 2х double, а также...
C++ Определить количество строк матрицы, не содержащих ни одного нулевого элемента
помогите пожалуйста с задачкой разобраться, задание следующее - "Используя обьявления массивов через указатели на тип, шаблоны функций и структур, Определить количество строк, не содержащих ни одного...
найти минимальное и максимальное C++
прошу помочь розобраться.. программа №1 создает файл с разными данными, зарплата, имя, и т.д.. программа №2 должна вывести минимально и максимальную зарплату с файла программы №1, ну и разницу...
C++ Подключить графику (Borland С++ 3.01) Помогите, пожалуста, кото знает-> мне нужно подключить графику, в Borland С++ 3.01))) Кто знает как ето сделать большая посьба помочь мне, так как нет никакой литературы под рукой, а в нети ничего... https://www.cyberforum.ru/ cpp-beginners/ thread39360.html
C++ Связаные списки https://www.cyberforum.ru/ cpp-beginners/ thread39329.html
Ребят подскажите как можно удалить из двухсвязного списка последние крайние узлы при удалении по нахождению реквизита узла. void del(List *list) { cout << "Введите фамилию для удаления...
C++ Ввод / вывод. Кириллица.
Помогите плиз! Эта программа выводит строки в которых есть слово) Программа работает только с латинским алфавитом! Как переделать на кириллицу? #include "stdafx.h" #include <fstream.h> #include...
C++ Произведение элементов массива расположенных после максимального по модулю элемента (С)
Помогите пожалуйста написать программу. Очень буду Вам благодарен, очень срочно надо. В одномерном массиве состоящем из n вещественных элементов вычислить произведение элементов массива...
C++ Массив в функцию записать // в одномерном массиве,состоящем из n вщественных элементов, вычислить: 1) номер минимального элемента массива; 2) сумму элементов массива расположенных между первым и вторым отрицательными... https://www.cyberforum.ru/ cpp-beginners/ thread39305.html
C++ преобразование типов https://www.cyberforum.ru/ cpp-beginners/ thread39294.html
Уважаемые специалисты, у меня имеется одна проблема. Есть два числа. double и float. Надо из double вычесть float. Все бы хорошо, но проблема в следующем: при преобразовании float'а к double внутри...
C++ Записать структуру в файл подскажыте, как записать структару в файл! https://www.cyberforum.ru/ cpp-beginners/ thread39293.html
Заказ софта
342 / 187 / 21
Регистрация: 26.05.2009
Сообщений: 863
11.06.2009, 04:03 0

Если первое и последнее его слова имеют одинаковую длину, поменять их местами

11.06.2009, 04:03. Просмотров 1051. Ответов 5
Метки (Все метки)

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот самое нормальное решение. Нормальная прога ведь не станет запрашивать ввести количество слов, которые ты хочешь ввести (ведь правда ?):

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
47
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
int str_minmax(char text[])
{
    int nsp = 0, ns = 0, dsn;
    for(int s = 0; s < strlen(text); s++) {
        if(isspace(text[s])) { nsp++; }
    }
 
    if(nsp < 2) { 
        fprintf(stderr, "Error! Minimal count words is two.\n"); 
        return -1; 
    }
 
    const char delimiters[] = " \t\n~`@#$%^&*()_-+={[]}|\\'\";:/?.>,<" ;
    char *one, two[1000] = " ", *three, *word;
 
    word = strtok(text, delimiters);
        for(int shs = 0; (shs < nsp)&&(word != 0); shs++) { dsn = shs;
            if(shs == 0) { one = strdup(word); }
            else if(shs == nsp-1) { three = strdup(word); shs++; }
            else if((shs > 0)&&(shs < nsp)&&(shs == dsn)) {
                strcat(two, strdup(word)); strcat(two, " "); 
            }
            word = strtok(NULL, delimiters);
        }
 
        if(strlen(one) == strlen(three)) { 
            strcat(two, one); strcat(three, two); 
            printf("Completed: %s\n", three);
        }
        else { fputs("The first and last words do not match!\n", stdout); }
 
        return 0;
}
 
int main(int argc, char * argv [])
{
    char line[1024] = " ";
    fputs("Write string: ", stdout);
    fgets(line, sizeof(line), stdin);
    str_minmax(line);
 
    return 0;
}


Вернуться к обсуждению:
Если первое и последнее его слова имеют одинаковую длину, поменять их местами
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2009, 04:03
Готовые ответы и решения:

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

Поменять местами первое и последнее слова в строке
Поменять местами в строке первое и последнее слова . Считать , что слова отделены друг от друга...

В строках поменять местами первое и последнее слова
Ребята, помогите пожалуйста с задачами... язык С++ 1.Ввести 2 строки. В результате выполнения...

Поменять местами первое и последнее слово, найти слова-палиндромы
Объектно-ориентированное программирование. Разработать программу. В заданном тексте (слова...

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