Форум программистов, компьютерный форум 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:09     Строки (В строке переставить местами рядом стоящие слова)
Цитата Сообщение от Spect Посмотреть сообщение
Что-то не получилось, char *strchr(char *str, " "); подчеркивает " ", можно по подробнее!
Ошибся немного ' ' используйте такие кавычки и один символ

Добавлено через 4 минуты
Похоже strchr не подойдет, нам нужно немного не то, нужен возврат номера символа, а возвращается адрес. Сейчас еще поищу и напишу

Добавлено через 22 минуты
Вот работающий код, проверил.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    char str[256], str2[256], str3[256];
    int n;  // длина строки
    int i = 0;
    int nachalo, konec;
    printf("Put str: ");
    gets(str);
    n = strlen(str);
    while (i<n && str[i] != ' ') i++;
    i++;
    nachalo = i;
    while (i<n && str[i] != ' ') i++;
    konec = i;
    strncpy(str2, str + nachalo, konec - nachalo); //получили второе слово
    strncpy(str3, str + konec + 1, n - konec);      //получили все что после второго слова
    strncpy(str + nachalo, str3, n - konec);
    strncpy(str + nachalo + n - konec - 1, " ", 1);
    strncpy(str + nachalo + n - konec, str2, konec - nachalo);
    printf("%s", str);
Из минусов - если введете 4 слова, то остальные 2 слова будут считаться как одно третье.
 
Текущее время: 00:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru