Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.80
ugodaj
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 42
#1

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

10.01.2013, 11:41. Просмотров 4786. Ответов 8
Метки нет (Все метки)

Может кто помочь как можно удалить последний элемент массива, токо не используя встроеных стеков деков списков и .т.д ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2013, 11:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить последний элемент массива (C++):

Удалить из массива последний парный элемент - C++
Есть код, он рабочий и все хорошо с ним, но нужно что бы в результате выводящий ноль был справа, а не слева. Само задание: Заданный...

Удалить из массива последний отрицательный элемент. - C++
Добрый день! Помогите с решением задачи. ...

Удалить из массива последний отриц. элемент - C++
Всем доброй ночи! Очень нужна помощь с программой, так как завтра защищать лабараторную, получать допуск к сессии....

Найти и удалить последний четный элемент динамического массива - C++
Требуется: 1) Ввести дин. массив, ввод осуществляется пока эл. массива не превышает суммы предыдущих 2) Найти и удалить последний...

Найти последний максимальный элемент массива и удалить его - C++
Помогите решить 3 легких задачи! 1)Найти послед максимальный и удалить его. 2)Найти первый минимальный и удалить его. 3)Первый четный...

Задача Иосифа Флавия. Удалить каждый второй элемент из списка и в конце вывести на экран последний оставшийся элемент - C++
Создать циклический список, в котором находятся элементы от 1 до N. Нужно написать программу, которая удаляет каждый второй элемент из...

8
Пaтрик
416 / 391 / 39
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
10.01.2013, 11:48 #2
Если память под массив была выделена динамически, то нужно перевыделить память под массив на один элемент меньше. Иначе никак.
0
ugodaj
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 42
10.01.2013, 12:21  [ТС] #3
А можете пример кода прислать, Да память динамическая!
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
10.01.2013, 12:30 #4
Ну если удаляете последний элемент, то можете просто уменьшить переменную в которой хранится размер массива.
0
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 132
10.01.2013, 12:31 #5
C++
1
2
3
for(int i=0; i<size; i++) 
if(a[i]%2!=0) 
a[i]=a[newsize++];
как-то так
0
palva
2684 / 1911 / 287
Регистрация: 08.06.2007
Сообщений: 7,033
Записей в блоге: 4
10.01.2013, 12:42 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main() {
    int *a, *t, i;
    int n=8;
    a = new int[n];
    for(i=0; i<n; i++)
        a[i]=(i-5);
    cout << a[n-2] << endl;
    t = new int[n-1];
    for(i=0; i<n-1; i++)
        t[i]=a[i];
    delete a;
    a=t;
    cout << a[n-2] << endl;
    delete a;
    return 0;
}
0
Пaтрик
416 / 391 / 39
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
10.01.2013, 12:43 #7
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
#include <iostream>
#include <algorithm>
 
template < typename T >
T* resize(T *ptr, std::size_t old_size, std::size_t new_size)
{
    T *buffer = new T[new_size];
    std::memcpy(buffer, ptr, std::min(old_size, new_size) * sizeof(T));
    delete [] ptr;
    return ptr = buffer;
}
 
int main()
{
    int *p = new int[3];
    for (int i = 0; i < 3; i++)
        std::cout << (p[i] = i) << ' ';
    p = resize(p, 3, 2);
    std::cout << std::endl;
    for (int i = 0; i < 2; i++)
        std::cout << p[i] << ' ';
    delete [] p;
    std::cout << std::endl;
    return 0;
}
1
ugodaj
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 42
16.01.2013, 13:09  [ТС] #8
Спасибо, а может кто написать алгоритм как удалить последний элемент динамического массива?
0
Пaтрик
416 / 391 / 39
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
16.01.2013, 13:17 #9
ugodaj, вглядитесь внимательно в мой предыдущий пост
0
16.01.2013, 13:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2013, 13:17
Привет! Вот еще темы с ответами:

Заменить последний положительный элемент одномерного массива на второй элемент массива - C++
#include &lt;string&gt; #include&quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string&gt; using namespace std; ...

Заменить последний положительный элемент массива на второй элемент массива - C++
Заменить последний положительный элемент массива на второй элемент массива. Как вывести еще раз этот же массив только с замененным числом ...

Удалить из списка последний элемент - C++
Задание: Удалить из списка последний элемент. #include&lt;iostream.h&gt; #include&lt;conio.h&gt; struct elem { int Data; elem *Next; ...

Удалить последний элемент очереди - C++
Нужно удалить последний элемент очереди. struct node { node *next; int info; }; void deleteLastElement(node*&amp;el, node*begin,...


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

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

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