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

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

Войти
Регистрация
Восстановить пароль
 
KeR
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 102
#1

Вставлять тирэ после каждого второго символа строки? В коде скорее всего какое-то переполнение происходит - C++

08.12.2012, 15:09. Просмотров 302. Ответов 1
Метки нет (Все метки)

Помогите поправить
Результат должэн быть вот таким jf-js-dl-fs-ld-k
Спасибо.
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
using namespace std;
 
using namespace System;
 
int main(array<System::String ^> ^args)
{
char * arr1 = "jfjsdlfsldk";
char * arr2 = "";
char * arr3 = "-"; 
int len, x, y;
len = strlen(arr1);
if (len%2==0)
{
    x=(len-2)/2;
}
else
{
    x=(len-1)/2;
}
len = len + x;
for (int i=0; i<strlen(arr1); i++)
    for (int j = 0; j < len; j++)
    {
{
    if (i%2==0)
    {
        arr2[j]=arr1[i];
        j++;
        arr2[j]=arr3[1];
    }
    else
    {
        arr2[j]='-';
    }
}
    }
cout<<arr2<<endl;
system("pause");
return 0;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 15:09     Вставлять тирэ после каждого второго символа строки? В коде скорее всего какое-то переполнение происходит
Посмотрите здесь:

C++ удваиваивание каждого символа строки
C++ Строка вводится с клавиатуры. В данной строке вставить пробел после каждого символа
Вставлять тирэ после каждого второго символа строки C++
C++ Неизвестная ошибка(скорее всего с размером массива\памяти)
В исходную строку добавьте после каждого символа его номер по порядку в алфавите C++
C++ После ввода с клавиатуры произвольного строки выдать на экран протокол о количестве вхождений каждого символа. В протоколе символы расположить по алфа
В массиве вставить после каждого второго элемента минимальное непростое число C++
C++ После каждого вхождения символа «$» в строке вставлять подстроку «End»
Как после каждого 60-го символа сделать новый абзац? C++
В веденной строке после каждого символа добавить его код C++
C++ После 1-го символа каждого слова вставить последовательность символов
C++ Ошибка, скорее всего криво поставил указатели

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12508 / 7070 / 794
Регистрация: 27.09.2012
Сообщений: 17,462
Записей в блоге: 2
Завершенные тесты: 1
08.12.2012, 15:31     Вставлять тирэ после каждого второго символа строки? В коде скорее всего какое-то переполнение происходит #2
C++
1
2
3
using namespace System;
 
int main(array<System::String ^> ^args)
Вы уверены, что Вам в этот раздел?
Если да, то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cstdlib>
using namespace std; 
int main()
{
    char arr1[] = "jfjsdlfsld";
    size_t len=strlen(arr1);
    char * arr2 = new char[len*2];
    for(char *p1=arr1,*p2=arr2; *p2=*p1;++p1,++p2){
        *(++p2)=*(++p1);
        if(*p2)
            *(++p2)='-';
    }
    cout<<arr2<<endl;
    delete [] arr2;
    system("pause");
    return 0; 
}
Yandex
Объявления
08.12.2012, 15:31     Вставлять тирэ после каждого второго символа строки? В коде скорее всего какое-то переполнение происходит
Ответ Создать тему
Опции темы

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