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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.95
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 333
#1

Вставить элемент в середину массива - C++

08.10.2011, 22:05. Просмотров 2812. Ответов 3
Метки нет (Все метки)

Здравствуйте!
Подскажите, пожалуйста, как вставить элемент в середину массива (не заменить один на другой).
Например, если после точки в строке нету пробела, то как его вставить туда?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2011, 22:05     Вставить элемент в середину массива
Посмотрите здесь:

В середину одной строки вставить другую C++
Дан массив A[20] и B[10] после каждой пары элемента массива A вставить один элемент массива B C++
C++ Добавить элемент в середину массива
Вставить символ ‘*’ в середину стека C++
Вставить максимальный элемент массива C++
Вставить элемент в середину динамического массива C++
C++ Вставить в середину записи одного числа другое
C++ Вставить в середину записи одного числа другое (без библиотеки string)
C++ Вставить после каждого нечетного элемента массива максимальный простой элемент этого же массива
C++ Вставить символ в середину стека С++
C++ Удалить первый положительный элемент массива; вставить новый элемент перед первым максимальным элементом
Перед каждым положительным элемент массива вставить элемент с нулевым значением C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
08.10.2011, 22:21     Вставить элемент в середину массива #2
C++
1
2
3
4
5
6
7
if ( для еще одного символа не хватает места в буфере под строку )
{
   выделить новый буфер
   скопировать первую часть
}
вставить подстроку
скопировать со сдвигом остаток
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
08.10.2011, 23:39     Вставить элемент в середину массива #3
ViT(Vet@l), вот так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
char* insert_space(char* str) {
    char* tmp = str;
    char  *end, *sa, *sb;
    for(end = str; *end; *end++);
    while( *str ) {
              if( *str == '.' && *(str + 1) != ' ') {
                     for(sa = end, sb = ++end; sa > str; *sb-- = *sa--); 
                    *(++str) = ' ';
               }
               *str++;
     }
     return tmp;
}
 
int main(){
   char str[64] = "Batman.Phantom.Nitman.Spwn.Spider-man";
   insert_space(str);
   puts( str );
   getchar();
   return 0;
}
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
08.10.2011, 23:50     Вставить элемент в середину массива #4
это в си
в ++ все уже сделали за нас
C++
1
2
3
4
5
6
7
8
9
#include <string>
#include <iostream>
 
int main()
{
  std::string str = "helloworld";
  str.insert(5, 1, ' ');
  std::cout << str;
}
Yandex
Объявления
08.10.2011, 23:50     Вставить элемент в середину массива
Ответ Создать тему
Опции темы

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