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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ N последовательных членов Фибоначчи. С++ http://www.cyberforum.ru/cpp-beginners/thread894897.html
Найти первые N членов Фибоначчи с помощью рекурсии и вывести их на экран. Тут и тут есть нахождение четного и n-го члена последовательности Фибоначчи. Помогите вывести N первых членов...
C++ Не изменяется элемент вектора при работе с ним по указателю Здравствуйте. Проблема следующая. Пишу свою велосипедную (на это, как на источник проблемы, не указывать) реализацию бинарного дерева для своего не менее велосипедного архиватора, использующего... http://www.cyberforum.ru/cpp-beginners/thread894890.html
C++ Функции работы с процессами, как осуществить возвражение результата?
Например void main () { int res; /* запуск exe-шника , ниже*/ } дочерний
C++ Найти наиболее и наименее удаленные точки. Вычисление расстояния между парой точек оформить функцией
Даны координаты N точек на плоскости в виде маccивов X и Y. Найти наиболее и наименее удаленные точки. Вычисление расстояния между парой точек оформить функцией.
C++ 7.Дан список студентов. Общие поля: Ф.И.О., дата рождения, группа, средний балл. Если средний балл 4 и выше, то указать размер стипендии. Если средний http://www.cyberforum.ru/cpp-beginners/thread894864.html
#include <stdio.h> #include <string.h> #include <clocale> int main() { setlocale(0,"Rus"); static char res; int res_top = 0; printf("Количество студентов: "); /*fflush...
C++ LPT порт, Ubuntu, code::blocks Итак, название темы говорит само за себя. Нужно в консольном приложении code::blocks под Ubuntu читать и писать данные из/в LPT-порт. Если точнее, нужно не просто передать информацию, а "дергать... подробнее

Показать сообщение отдельно
exStas
2 / 2 / 0
Регистрация: 20.10.2012
Сообщений: 82

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

08.06.2013, 13:28. Просмотров 324. Ответов 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 минут
Актуально.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru