Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 2
Регистрация: 16.09.2014
Сообщений: 68

Конкатенация char массивов

16.10.2017, 19:06. Показов 3490. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно в массиве char заменить точку многоточием
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
static void dotToPoints(ref char []str)
        {
            char[] temp = new char[str.Length];
            char[] temp2 = new char[str.Length];
            char[] points = { '.', '.' };
            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] == '.')
                {
                    for(int j= 0;j<=i;j++)
                    {
                        temp[j] = str[j];
                    }
                    for (int j = i; j < str.Length; j++)
                    {
                        temp2[j] = str[j];
                    }
                    temp.Concat(points);
                    temp.Concat(temp2);
                    temp.CopyTo(str, 0);
                    i += 2;
                }
 
            }
        }
метод Concat не хочет работать, есть ли метод для разделения массива на подмассивы?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.10.2017, 19:06
Ответы с готовыми решениями:

Конкатенация массивов разных размеров
Здравствуйте, товарищи. Суть такова: есть два массива, например: a {1 , 5 ,4} b {2 , 2 } Нужно получить массив сложением элементов...

Сложение массивов char
Всем привет, срочно нужна помощь в такой проблеме: Есть 2 массива char mass1 = new char {'a', 'b', 'c'}; char mass2 = new char...

конкатенация char
Привет!!! Пытаюсь разобраться с указателями char ничего не получается. вот код: #include &lt;iostream&gt; using std::cout; ...

9
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
16.10.2017, 19:29
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void DotToPoints(char []str)
{
 
 
     for (int i = 0; i < str.Length; i++)
    {
      if (str[i] == '.')
       {
         str[i] = '…';
       }
    }
}
У String есть Replace
1
0 / 0 / 2
Регистрация: 16.09.2014
Сообщений: 68
16.10.2017, 20:11  [ТС]
Цитата Сообщение от EveKS Посмотреть сообщение
str[i] = '…';
char можно засунуть только один символ!
Цитата Сообщение от EveKS Посмотреть сообщение
У String есть Replace
Нужно именно с char массивом
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,440
17.10.2017, 07:05
karim_, вам мистер EveKS предложил символ точки заменить символом многоточия (U+2026 - '…'). Т.е. это один символ.

А так ваша задача решается подсчётом всех точек, что будут заменены, выделением нового массива char под строку с учётом всех замен (т.е. + 2 символа на каждую точку в исходной строке) и посимвольным копированием с заменой точки.
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
17.10.2017, 07:07
Я понимаю, что задача на работу с массивами, а не с символом , но она не сложная, и стоит, только, немного подумать
0
17.10.2017, 07:08

Не по теме:

Цитата Сообщение от EveKS Посмотреть сообщение
и стоит, только, немного подумать
Как раз это и есть самое сложное...

0
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
17.10.2017, 07:19
karim_, можно через StringBuilder, чтобы с выделением памяти не возится:
C#
1
2
3
4
5
6
7
8
9
10
11
12
static void dotToPoints(ref char []str)
{
    StringBuilder sb = new StringBuilder ();
    foreach (char ch in str) {
        if (ch != '.')
            sb.Append (ch);
        else {
            sb.Append ("...");
        }
    }
    str = sb.ToString ().ToCharArray ();
}
Или даже просто через список.
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,440
17.10.2017, 07:24
woldemas, если задача - продемонстрировать умение работать с массивами, по повозиться придётся. Тем более, что возиться - посчитать точки и один раз вызвать оператор new. Вот уж сложная задача, правда?)
0
0 / 0 / 2
Регистрация: 16.09.2014
Сообщений: 68
17.10.2017, 16:58  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
karim_, вам мистер EveKS предложил символ точки заменить символом многоточия (U+2026 - '…'). Т.е. это один символ.
Можно было уточнить, для недогадливых
Цитата Сообщение от Usaga Посмотреть сообщение
А так ваша задача решается подсчётом всех точек, что будут заменены, выделением нового массива char под строку с учётом всех замен (т.е. + 2 символа на каждую точку в исходной строке) и посимвольным копированием с заменой точки.
Я не просил решать, а спросил есть ли метод для разделения массива на подмассивы.
еще нужно запомнить индекс символа точки
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,440
17.10.2017, 18:34
karim_, есть: new char[] + Array.CopyTo(). Есть ещё обёртка над фрагментом массива ArraySegment<T>, но думаю, что вы не об этом просили.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.10.2017, 18:34
Помогаю со студенческими работами здесь

Конкатенация строк. Только char
Почему мой код не пашет? Задача: Функция конкатенации строк, но конкатенация выполняется начиная с n-й позиции так, что вторая строка...

Указатели char* - конкатенация без <string.h>
char *pp,*p,*s1; // p и s1 имеют свои значения, по сути необходимо из &quot;p&quot; сделать соединение &quot;s1+p&quot; (строго без...

Конкатенация массивов
Напишите программу, которая запрашивает и вводит с экрана два линейных массива действительных чисел не более 50 членов(возможно разное...

Конкатенация массивов
Напишите программу, которая запрашивает и вводит с экрана два линейных массива действительных чисел не более 50 членов(возможно разное...

Перевод переменной из int в char и конкатенация строк
вообщем вот кусок кода. max - это та самая переменная которую нужно было мне перевести в char, но потом у меня никак не получается...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru