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

Заменить в строке запятыми все двоеточия - C++

Восстановить пароль Регистрация
 
Денис96
 Аватар для Денис96
0 / 0 / 0
Регистрация: 10.08.2011
Сообщений: 55
13.12.2012, 19:23     Заменить в строке запятыми все двоеточия #1
Доброго времени суток. Условие задачи:
____________________________________________________________ _____
Даны натуральное число п, символы S1, ...,Sn (n>1). Преобразовать последовательность S1, ...,Sn заменив запятыми все двоеточия, встречающиеся среди S1, ...,S [n/2] , и заменив точками все восклицательные знаки, встречающиеся среди S[n/2]+1,…,Sn.

Вот мой код. Ошибок нет, но программа вылетает. Что мне здесь нужно исправить?
____________________________________________________________ _____
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    char *str1 = ".,";
    char *str2 = ":!as!:fs!:::!!!!!";
    char *str3 = "!:";
    char *str20= "";
    char *str21="";
    char *str4="";
 
    int len = strlen(str2);
    for (int i=0; i<len/2; i++)
    {
        if (str2[i]==str3[1])
        {
            str2[i]=str1[1];
        }
    }
    strcpy(str20, str2);
    for (int i=len/2+1;i<len;i++)
    {
        if (str2[i]==str3[0])
        {
            str2[i]=str1[0];
        }   
    }
    strcpy(str21, str2);
    str4 = strcat(str20,str21);
    puts(str4);
    
    system("pause");
    getch();
    return 0;
}
Добавлено через 25 минут
Скоро сессия, помогите, пожалуйста! Заранее очень благодарю!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2012, 19:23     Заменить в строке запятыми все двоеточия
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
13.12.2012, 19:34     Заменить в строке запятыми все двоеточия #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
int main()
{
    char str1[20]  = ".,";
    char str2[20]  = ":!as!:fs!:::!!!!!";
    char str3[20]  = "!:";
    char str20[20] = "";
    char str21[20] = "";
    char str4[20]  = "";
 
    int len = strlen(str2);
 
    for (int i=0; i < (len/2); i++)
        if (str3[i])
            if (str2[i] == str3[1])
                str2[i] = str1[1];
 
    strcpy(str20, str2);
 
    for (int i = (len/2 + 1); i<len; i++)
        if (str2[i]==str3[0])
            str2[i]=str1[0];
 
    strcpy(str21, str2);
    strcpy(str4,  strcat(str20,str21));
    cout << str4 << endl;
    
    system("pause");
    _getch();
    return 0; 
}
Yandex
Объявления
13.12.2012, 19:34     Заменить в строке запятыми все двоеточия
Ответ Создать тему
Опции темы

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