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

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

Войти
Регистрация
Восстановить пароль
 
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
#1

Удалить в этой строке s последние k элементов - C++

11.09.2013, 15:59. Просмотров 269. Ответов 4
Метки нет (Все метки)

Eсть строка s и число k. Как удалить в этой строке последние k элементов?
//char *s;
//int k;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2013, 15:59     Удалить в этой строке s последние k элементов
Посмотрите здесь:

C++ Удалить из файла последние три строки.
Удалить из матрицы те строки, для которых количество ненулевых элементов больше количества нулевых элементов в строке C++
Если в строке есть элемент, равный среднему арифметическому элементов этой строки, то вставьте после него строку, состоящую из этих элементов C++
C++ Если в строке есть элемент, равный среднему арифметическому элементов этой строки, то вставьте после него строку, состоящую из этих элементов
Что происходит в этой строке? C++
Дан текстовый файл, содержащий более трех строк. Удалить из него три последние строки C++
C++ Как удалить последние N элементов из массива типа char?
Найти количество элементов в каждой строке, больших среднего арифметического элементов этой строки. C++
C++ Дан двумерный массив. найти количество элементов в каждой строке, меньших диагонального в этой строке
Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их последние вхождения C++
C++ Удалить из каждого слова исходной строки две последние буквы
Удалить последние слова из строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raali
622 / 326 / 34
Регистрация: 06.07.2013
Сообщений: 1,054
Завершенные тесты: 1
11.09.2013, 16:09     Удалить в этой строке s последние k элементов #2
s[ strlen(s) - k ] = '\0'; элементы не удалятся , за то строка будет воспроизводиться резаной на k элементов
GoldenChild
28 / 28 / 4
Регистрация: 12.06.2013
Сообщений: 65
11.09.2013, 16:16     Удалить в этой строке s последние k элементов #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int main() {
    int k = 5;
    char *s = "Hello, world!";
    cout << s << endl;
    char *new_s = new char[];
    for (int i = 0; i < strlen(s) - k; i++) {
        new_s[i] = s[i];
        new_s[i + 1] = '\0';
    }
    cout << new_s << endl;
    system("pause");
    return 0;
}
Raali
622 / 326 / 34
Регистрация: 06.07.2013
Сообщений: 1,054
Завершенные тесты: 1
11.09.2013, 16:19     Удалить в этой строке s последние k элементов #4
GoldenChild,
тогда уж легче

C++
1
2
3
4
5
6
int k = 5;
char *s = "Hello, world!";
cout << s << endl;
int new_size = strlen(s) - k + 1;
char *new_s = new char[new_size];
memcpy(new_s,s,new_size);
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
11.09.2013, 16:19  [ТС]     Удалить в этой строке s последние k элементов #5
Спасибо!
Yandex
Объявления
11.09.2013, 16:19     Удалить в этой строке s последние k элементов
Ответ Создать тему
Опции темы

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