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

Строки (В строке переставить местами рядом стоящие слова) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не работает загрузка бинарного файла http://www.cyberforum.ru/cpp-beginners/thread1115606.html
Уважаемые программисты, помогите найти ошибку в функции загрузки. #include "stdafx.h" #include <stdlib.h> #include <conio.h> #include <string.h> #include "iostream" struct spis { char name_org;
C++ Если у введеному з клавиатуры слове 1-й символ, расположен за первым вхождением символа "a" есть латинскою буквою, то переменной "t" присвоить TRUE... Кто сможет помочь? Если у введеному з клавиатуры слове 1-й символ, расположен за первым вхождением символа "a" есть латинскою буквою, то переменной "t" присвоить TRUE, если другое значение FALSE Спасибо! http://www.cyberforum.ru/cpp-beginners/thread1115605.html
C++ Напечатать n-oe простое число
Здраствуйте. Можете помочь сделать одну программу? Напишите программу, печатающую n-oe простое число. Спасибо! Добавлено через 4 часа 7 минут up up
Написать рекурсивную функцию вычисления количества цифр натурального числа C++
Как написать рекурсивную функцию вычисления количества цифр натурального числа?
C++ Типичный цикл или сложение чисел http://www.cyberforum.ru/cpp-beginners/thread1115569.html
Здравствуйте, есть 4 переменные x1=17, x2=17, x3=6, x4=6 Есть константная переменная f=300846 необходимо чтобы к x1 прибавлялось 29, до тех пор пока x1 не достигнет значения 300846 Аналогично к x2+19 x3+14 x4+39 И необходимо выводить на экран все промежуточные результаты сложения . Спасибо!
C++ Даны три слова. Определить палиндромы Буду очень благодарен если поможете переделать задачку :) Вот код похожей задачи только с числами... #include <iostream> #include <cmath> void palindr (int s); using namespace std; int main () { unsigned int a, b; cout<<"vvedite 1-e chislo:"; cin>>a; подробнее

Показать сообщение отдельно
Vaiz
 Аватар для Vaiz
94 / 88 / 27
Регистрация: 01.07.2012
Сообщений: 262
Завершенные тесты: 1
10.03.2014, 23:46     Строки (В строке переставить местами рядом стоящие слова)
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
        char str[256], str2[256], str3[256];
    int n;  // длина строки
    int i = 0;
    int nachalo, konec, konec2;
    printf("Put str: ");
    gets(str);
    n = strlen(str);
    while (i < n && str[i] != ' ') i++;
    i++;
    nachalo = i;
    while (i < n && str[i] != ' ') i++;
    if (i != n)
    {
        konec = i;
        i++;
        while (i < n && str[i] != ' ') i++;
        konec2 = i;
        strncpy(str2, str + nachalo, konec - nachalo); //получили второе слово
        strncpy(str3, str + konec + 1, konec2 - konec - 1);      //получили второе слово
 
        strncpy(str + nachalo, str3, konec2 - konec - 1);
        strncpy(str + nachalo + konec2 - konec - 1, " ", 1);
        strncpy(str + nachalo + konec2 - konec, str2, konec - nachalo);
    }
    printf("%s", str);
Если помудрить со строками то можно найти недочеты (несколько пробелов и т.д.), но с простыми вариантами работает.
 
Текущее время: 17:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru