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

Имеется частичное непонимание кода - C++

Восстановить пароль Регистрация
 
exStas
2 / 2 / 0
Регистрация: 20.10.2012
Сообщений: 82
08.06.2013, 13:28     Имеется частичное непонимание кода #1
Задание:прочитать из файла строку символов.В данной строке каждый символ ? удвоить.Каждый символ ,стоящий перед !, заменить символом введенным с клавиатуры.Новую строку не создавать.Вывести исходную и преобразованную строки.

Имеется вот такой код.Некоторые моменты не понятны или есть ощущение,что не правильно их понял.Кому не трудно и интересно,оставьте,пожалуйста,подробные комментарии.
Заранее спасибо всем откликнувшимся!
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <string>
#include <fstream>
#include <stdio.h>
#include <Windows.h>
using namespace std;
 
int main()
{
    string Str;
    ifstream ifs("input.txt");
    cin.rdbuf(ifs.rdbuf());
    getline(cin,Str);
    cout<<Str<<'\n';
    string string1("?");
    string string2("!");
    string string3("W");
 
    int pos=0;
    while(true)
    {
        pos = Str.find(string1,pos);
        if (pos != string :: npos)
        {
            Str.insert(pos,string1);
            pos+=2;
        }
        else
            break;
    }
    int count = 0;
    pos=0;
    while(true)
    {
        pos = Str.find(string2,pos);
        if (pos != string :: npos)
        {
            count++;
            pos++;
        }
        else
            break;
    }
    string arrayStr[256];
    int i=0;
    for(i=0;i<count;i++)
    {
        printf("Enter ch: ");
        char x[200];
        scanf ("%s",x);
        arrayStr[i]=x;
    }
    i=0;
    pos=0;
    while(true)
    {
        pos = Str.find(string2,pos);
        if (pos!=string :: npos)
        {
            Str.replace(pos-1,1,arrayStr[i++]);
            pos++;
        }
        else
            break;
    }
    cout<<Str<<'\n';
    system("pause");
    return 0;
}
Добавлено через 15 часов 17 минут
Актуально.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2013, 13:28     Имеется частичное непонимание кода
Посмотрите здесь:

C++ Имеется текстовый файл
C++ Имеется массив А из N произвольных чисел.
Частичное пересекание структур в памяти C++
Непонимание работы с аргументами для функции main C++
C++ Имеется список сотрудников фирмы
C++ Массив структур, непонимание деталей
Использование классов. (или непонимание написания:) C++
C++ Частичное решение

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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