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

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

Войти
Регистрация
Восстановить пароль
 
exStas
2 / 2 / 0
Регистрация: 20.10.2012
Сообщений: 82
#1

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

08.06.2013, 13:28. Просмотров 316. Ответов 0
Метки нет (Все метки)

Задание:прочитать из файла строку символов.В данной строке каждый символ ? удвоить.Каждый символ ,стоящий перед !, заменить символом введенным с клавиатуры.Новую строку не создавать.Вывести исходную и преобразованную строки.

Имеется вот такой код.Некоторые моменты не понятны или есть ощущение,что не правильно их понял.Кому не трудно и интересно,оставьте,пожалуйста,подробные комментарии.
Заранее спасибо всем откликнувшимся!
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++
Всем добрый день. Есть несколько маленьких вопросов по массивам структур. И извините за странные названия переменных.:-| я создаю...

Использование классов. (или непонимание написания:) - C++
Объявить класс «натуральное число» и определить его методы. Определить число, полученное из заданного натурального числа n, путем...

Непонимание работы с аргументами для функции main - C++
Здравствуйте. В книге Лафоре в теме потоков и фалов есть пример с работой командной строки. // comline.cpp // Демонстрация работы с...

Частичное решение - C++
Выведите (через пробел) все четные числа от a до b (включительно). Примеры Входные данные Выходные данные 1 4

Частичное пересекание структур в памяти - C++
Есть две структуры: struct s1{ char ax; char b; char c; int g; float v; }

Имеется текстовый файл - C++
Имеется текстовый файл.Напечатать все его строки,в которых имеется более 3 пробелов. помогите пожалуйста написать программу (если...

Имеется четыре произвольных числа: А, B, C, D. - C++
Пожалуйста, очень Вас прошу, помогите мне мне очень срочно нужно сдать эти программы!!! Я буду очень признательна ПОЖАЛУЙСТА, УМОЛЯЮ...

Имеется массив А из N произвольных чисел. - C++
1)Имеется массив А из N произвольных чисел. Используя, операторы цикла составить программу. а)Найти номер последнего отрицательного...

Имеется четыре произвольных числа: А, B, C, D. - C++
1)Имеется четыре произвольных числа: А, B, C, D. ЭВМ должна ответить на вопрос: Правда ли что все числа больше нуля и меньше 7? Ответ...


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

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

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