Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
dsvit
0 / 0 / 0
Регистрация: 10.10.2017
Сообщений: 3
#1

Массив указателей на строки: удалить последнюю строку - C++

11.10.2017, 00:01. Просмотров 190. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста...суть задания: создать массив указателей на строки , разработать процедуру, которая удаляет последнюю строку . Для проверки вывести массив указателей
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2017, 00:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Массив указателей на строки: удалить последнюю строку (C++):

Функция получает массив указателей на строки и возвращает строку в динамической памяти, содержащую объединенный текст из входных строк
Функция получает массив указателей на строки и возвращает строку в динамической...

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

Удалить последнюю строку из файла
Дан непустой текстовый файл. Удалить из него последнюю строку.

Строки. Удалить из строки S1 последнюю подстроку, совпадающую с S2
Помогите решить задачу Даны строки S1 и S2. Удалить из строки S1 последнюю...

Имеется текстовый файл.Нужно удалить из него последнюю строку
Помогите пожалуйста))Задача на файлы: Имеется текстовый файл.Нужно удалить из...

В текстовом файле удалить последнюю строку результат записать в другой файл
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <conio.h>...

3
MrGluck
Модератор
Эксперт CЭксперт С++
7980 / 4861 / 1422
Регистрация: 29.11.2010
Сообщений: 13,234
11.10.2017, 11:41 #2
Лучший ответ Сообщение было отмечено dsvit как решение

Решение

В С++ нельзя изменять размер массива. Если массив динамический, то можно освободить память, а потом заново выделить нужного размера. Значения при этом сохранять во временный буфер.
1
dsvit
0 / 0 / 0
Регистрация: 10.10.2017
Сообщений: 3
11.10.2017, 17:08  [ТС] #3
Цитата Сообщение от MrGluck Посмотреть сообщение
В С++ нельзя изменять размер массива. Если массив динамический, то можно освободить память, а потом заново выделить нужного размера. Значения при этом сохранять во временный буфер.
а как это сделать?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7980 / 4861 / 1422
Регистрация: 29.11.2010
Сообщений: 13,234
11.10.2017, 17:29 #4
Цитата Сообщение от dsvit Посмотреть сообщение
а как это сделать?
А вы прочтите внимательно то, что я дальше написал. Или вам код нужен?

Добавлено через 17 минут
Примерно так:
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
#include <cassert>
#include <cstring>
#include <iostream>
 
#define LOG_FN std::cout << __FUNCTION__ << std::endl;
 
struct A
{
    A()  { LOG_FN }
    ~A() { LOG_FN }
};
 
template <typename T>
void DelLast(T *&data, const size_t size)
{
    const size_t newSize = size - 1;
    assert(newSize);
    T *buf = new T[newSize];
    memmove(buf, data, sizeof(*data) * newSize);
    delete[] data;
    data = buf;
}
 
int main()
{
    const size_t N = 3;
    A *arr = new A[N];
    DelLast(arr, N);
    delete[] arr;
}
T *&data - ссылка на указатель
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2017, 17:29
Привет! Вот еще темы с решениями:

Удалить последнюю строку в файле (или сохранить файл без них)
Читаю текстовое поле чужого приложения, заношу содержимое в файл, из файла...

Удалить из строки S последнюю подстроку,совпадающую с S0.
Язык программирования-С++! Даны строки S и S0.Удалить из строки S последнюю...

Как удалить массив указателей char*
Столкнулся с проблемой при написании деструктора к классу, а именно не...

Удалить из строки последнюю подстроку, совпадающую с заданной
Даны строки S и S0. Удалить из строки S последнюю подстроку, совпадающую с S0 ....


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru