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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ проверка переполнения double http://www.cyberforum.ru/cpp-beginners/thread39388.html
Добрый день! Подскажите пожалуйста, где можно почитать теорию. Нужно решить задачу, написать функции на С++, которые бы проверяли переполнение при сложении и умножении 2х double, а также проверка на переполнение (underflow) при вычитании/делении. Если кто бросит ссылки на теорию - буду очень благодарен. Если кто поможет совет, тоже буду очень благодарен. Важно, чтоб я сам понял : ). ...
C++ Определить количество строк матрицы, не содержащих ни одного нулевого элемента помогите пожалуйста с задачкой разобраться, задание следующее - "Используя обьявления массивов через указатели на тип, шаблоны функций и структур, Определить количество строк, не содержащих ни одного нулевого элемента", заранее благодарен . . . http://www.cyberforum.ru/cpp-beginners/thread39386.html
найти минимальное и максимальное C++
прошу помочь розобраться.. программа №1 создает файл с разными данными, зарплата, имя, и т.д.. программа №2 должна вывести минимально и максимальную зарплату с файла программы №1, ну и разницу между ними.. 1 ) создает файл : #include<stdio.h> #include<conio.h> #define a pret struct pret {
C++ Подключить графику (Borland С++ 3.01)
Помогите, пожалуста, кото знает-> мне нужно подключить графику, в Borland С++ 3.01))) Кто знает как ето сделать большая посьба помочь мне, так как нет никакой литературы под рукой, а в нети ничего не могу найти(((... Я только помню, что нужно пользоватся библиотекой #include <graph.h>, но и знаю, что когда-то, в главной функции писал какието рядки, для работы, точно какие не помню(((......
C++ Связаные списки http://www.cyberforum.ru/cpp-beginners/thread39329.html
Ребят подскажите как можно удалить из двухсвязного списка последние крайние узлы при удалении по нахождению реквизита узла. void del(List *list) { cout << "Введите фамилию для удаления записи." << endl <<"?: "; char mas; cin >> mas; Date *temp = list->Head, *delete_c;
C++ Ввод / вывод. Кириллица. Помогите плиз! Эта программа выводит строки в которых есть слово) Программа работает только с латинским алфавитом! Как переделать на кириллицу? #include "stdafx.h" #include <fstream.h> #include <conio.h> #include <iostream.h> #include <stdio.h> #include <windows.h> ///////////////////// подробнее

Показать сообщение отдельно
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
11.06.2009, 04:03     Если первое и последнее его слова имеют одинаковую длину, поменять их местами
Вот самое нормальное решение. Нормальная прога ведь не станет запрашивать ввести количество слов, которые ты хочешь ввести (ведь правда ?):

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;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru