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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Raton_Laveur
0 / 0 / 0
Регистрация: 19.07.2013
Сообщений: 16
#1

Поменять местами слова в файле - C++

30.12.2013, 20:03. Просмотров 1052. Ответов 10
Метки нет (Все метки)

В исходном текстовом файле (создать и ввести) первое слово поменять местами со вторым. Дополнительных массивов и файлов не использовать.
С файлами понятно. Загрузилась на словах про дополнительные массивы: то есть если даже в строку из файла не считывать, то как это сделать, в самом файле?? Предполагаю, что позиции как-то менять надо, но вот с этим проблема...

Добавлено через 2 часа 47 минут
Ну блиииииииин, реально срочно надо, я уже полдня с этим сижу=(((
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2013, 20:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять местами слова в файле (C++):

Поменять местами первые слова (слова разделены пробелами) заданных строк, без использования процедур - C++
Вводятся две строки произвольного текста. Поме-нять местами их первые слова (слова разделены пробелами). без подпроцедур.

Поменять местами строчки в файле - C++
В общем я уже знаю как при помощи fstream открывать файл, извлекать или записывать туда информацию. Однако я не знаю, как переместить...

Поменять местами слова - C++
Имеется код, который открывает содержимое файла: #include <fstream> #include <iostream> #include <cstdlib> #include <windows.h> ...

Поменять слова местами - C++
Задача такая: Поменять слова в сообщении по принципу: первое с n/2+1 словом, второе с n/2+2 словом, i-тое с n/2+i словом и т.д (n-число...

Поменять местами слова в строке - C++
Нужно: 1) Узнать номер первой запятой в веденном тексте - СДЕЛАНО. 2) Поменять местами первой и последнее слово - НЕ сделано. 3)...

Поменять местами слова в предложении - C++
Такая проблема. Нужно сделать программу, в которую вводим предложение размером N, и которая меняет местами слова с заданными номерами A и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,998
30.12.2013, 20:38 #2
считываешь строку с этими словами, потом ищешь пробел между ними, потом меняешь буквы местами между этим пробелом до конца строки.
0
Raton_Laveur
0 / 0 / 0
Регистрация: 19.07.2013
Сообщений: 16
30.12.2013, 21:31  [ТС] #3
сразу тупой вопрос: как при таком способе быть в ситуациях, когда между словами несколько знаков препинания, а в словах разное количество букв?
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,998
30.12.2013, 23:25 #4
я бы задал встречный тупой вопрос про то, зачем заниматься такими извращениями вообще, но не буду.
да куча вариантов, к примеру можно все ваши знаки и пробелы перемещать посимвольно в начало массива, самое просто написать функцию, у вас бы было "abs , difg" -> " , absdifg" , потом другой функцией делать смещение символов, было бы так "g , absdif" потом "fg , absdi" ... "ifg , absd" и "difg , abs" вот и всё, функция простая - в цикле берём 1 символ запоминаем, на его место ставим предыдущий, если конец строки - то запсиываем в str[0]
ну я навскидку так бы сделал, уверен что вариантов ещё куча, к примеру менять местами начало 2 слов, потом в зав от того какое слово длиннее, менять его буквы уже с пробелами итп
1
Raton_Laveur
0 / 0 / 0
Регистрация: 19.07.2013
Сообщений: 16
31.12.2013, 02:57  [ТС] #5
Вообще, возникла внезапная жесть с собственно отделением первых двух слов. Я записывала в строку символы до 2-го пробела. Но тогда получается, что если там стоит что-нить вроде " - ", то, естественно, всё неправильно...Как их тогда искать-то?..
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.12.2013, 03:58 #6
Цитата Сообщение от Raton_Laveur Посмотреть сообщение
если там стоит что-нить вроде " - "
Там - это где? И что стоит? Тире, окружённое пробелами?
0
Raton_Laveur
0 / 0 / 0
Регистрация: 19.07.2013
Сообщений: 16
31.12.2013, 04:01  [ТС] #7
Там - это между словами. Ну, к примеру, да. Да, в принципе, любой знак препинания, требующий после себя пробела.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.12.2013, 04:06 #8
Цитата Сообщение от Raton_Laveur Посмотреть сообщение
требующий после себя пробела.
Пробел есть? Не пойму, в чём тогда проблема?
0
Raton_Laveur
0 / 0 / 0
Регистрация: 19.07.2013
Сообщений: 16
31.12.2013, 23:55  [ТС] #9
в том, что если там, например, тире, то пробела возле него будет 2.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.01.2014, 00:15 #10
В таком случае тире - это второе слово.
0
Raton_Laveur
0 / 0 / 0
Регистрация: 19.07.2013
Сообщений: 16
02.01.2014, 00:24  [ТС] #11
в этом-то и проблема какбэ)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2014, 00:24
Привет! Вот еще темы с ответами:

Поменять местами слова в строке C++ - C++
Поменять местами слова в строке C++ Пример:"Я Вас очень прошу помогите мне пожалуйста"-"пожалуйста мне помогите прошу очень Вас Я" ...

Поменять местами символы и слова - C++
Помогите, пожалуйста! Есть строчка "abc dcf ghi". Написать функцию, которая меняет местами символы (то есть получится "cba fcd ihg")....

Поменять местами все слова - C++
Строка слов (ввели с клавы или задали вручную). Поменять местами все слова. Использовать как можно меньше операторов (3). (и желательно без...

Поменять местами слова строки - C++
Ребят, нужно создать функцию которая меняет местами слова! пример: вводим строку: привет мир получаем:


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.01.2014, 00:24
Ответ Создать тему
Опции темы

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