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

Файловый ввод/вывод: в строке поменять местами слова, разделенные союзом "и" - C++

Восстановить пароль Регистрация
 
Amidari
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 3
04.06.2011, 13:49     Файловый ввод/вывод: в строке поменять местами слова, разделенные союзом "и" #1
Задача такая : для заданной строки S поменять местами слова, разделенные союзом "и". Текст нужно считывать с заранее созданного файла "input.txt" и записывать в "output.txt". Собирал частями по форумам.Не до конца понимаю как работает vector.
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
#include "StdAfx.h"
#include <fstream>
#include <windows.h>
#include <string>
#include <vector>
 
 
 
 using namespace std;
int main(){
    
    char* str=(char*) malloc (255*sizeof(string));  //???
    vector<string>text;
    string z;
    FILE* fstr;
    FILE* fstr2;
 
    fstr=fopen("input.txt","r");
    fstr2=fopen("output.txt","w");
    
    while ((str=fgets(str,255,fstr))!=NULL)
        
        text.push_back(str);
        for (vector<string>::size_type ix=0; ix!=text.size();ix++)   //???
        if(text[ix]=="и")
        {text[ix-1]=z;
        text[ix+1]=text[ix-1];
        text[ix+1]=z;
        }
    fputs(str,fstr2);
    fclose(fstr);
    fclose(fstr2);
    system("pause");
    return 0;}
Наверно код карявый, но как по другому пока не знаю. И если не сложно, поясните работу строк помеченных "//???". Откликнувшимся, заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2011, 13:49     Файловый ввод/вывод: в строке поменять местами слова, разделенные союзом "и"
Посмотрите здесь:

Поменять соседние слова в строке местами C++
C++ Поменять местами в строке первое и последнее слова
C++ Поменять местами слова в строке C++
C++ Поменять местами слова в строке
Поменять в строке местами два слова (Паскаль -> C++) C++
Поменять местами первое и последнее слова в строке C++
В заданной строке поменять местами второе и предпоследнее слова C++
Найти и сохранить в каждой строке только те слова, которые удовлетворяют условию (файловый ввод/вывод) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
04.06.2011, 13:58     Файловый ввод/вывод: в строке поменять местами слова, разделенные союзом "и" #2
Совет: определитесь с языком!
сточка
C++
1
for (vector<string>::size_type ix=0; ix!=text.size();ix++)
это практически как
C++
1
for ( size_t index = 0; index != Str.length(); index++ )
только с вектором.
Вектор - некий контейнер, размер которого меняется при добавлении или удалении элемента из него...
Более подробную информацию можно получить из популярного источника: c++ vector
Yandex
Объявления
04.06.2011, 13:58     Файловый ввод/вывод: в строке поменять местами слова, разделенные союзом "и"
Ответ Создать тему
Опции темы

Текущее время: 03:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru