0 / 0 / 1
Регистрация: 12.06.2013
Сообщений: 3
1

Удалить в списке элемент, стоящий после последнего минимального элемента

12.06.2013, 13:15. Показов 1839. Ответов 2
Метки нет (Все метки)

Удалить в списке элемент, стоящий после последнего минимального элемента.

 Комментарий модератора 
5.18 Запрещено размещать задания в виде картинок и других файлов с их текстом.
правила форума
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2013, 13:15
Ответы с готовыми решениями:

Удалить элемент, стоящий после максимального элемента массива
Работа в LibreOffice Calc, через макрос.

Удалить из списка элемент, стоящий после элемента на который указывает пользователь
Нужно удалить из списка элемент, стоящий после элемента на который указывает пользователь,...

В отрицательном массиве введенном с клавиатуры удалить элемент , стоящий после макс. по модулю элемента
Ввод массива реализовал, вводимые элементы должны быть только отрицательные , непонимаю как...

Удалить из массива элемент, расположенный после минимального элемента
Удалить из массива элемент, расположенный после минимального элемента. Если удаление элемента...

2
5 / 5 / 3
Регистрация: 06.06.2013
Сообщений: 22
12.06.2013, 13:45 2
во-первых, здесь форум C, а STL это C++, а во-вторых я почерк не разобрал поэтому написал всё с нуля, вот:
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
#include <list>
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
    srand(time(NULL));
    list<int> a;
    int min;
    for(int i = 0;i<10;i++) a.push_back(rand()%100);
    list<int>::iterator p = a.begin();
    list<int>::iterator m;
    min = *p;
    cout << "Исходный список:" << endl;
    while(p != a.end()) { cout << *p << " "; p++; }
    p = a.begin();
    while(p != a.end()) { if(*p<min) min = *p; p++; }
    p = a.end();
    while(p != a.begin()) { if(*p==min) { m = p; break; } p--; }
    a.erase(++m);
    p = a.begin();
    cout << endl << "Результирующий список:" << endl;
    while(p != a.end()) { cout << *p << " "; p++; }
    cout << endl;
    return 0;
}
0
0 / 0 / 1
Регистрация: 12.06.2013
Сообщений: 3
12.06.2013, 16:01  [ТС] 3
Лучший ответ Сообщение было отмечено Оксана_95 как решение

Решение

Спасибо, но мне нужно именно этот исправить.

Исходные данные

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
31
32
33
34
35
36
37
38
39
int Remove_After_Min (Node *pNode){
Node*pTemp = pNode;
Node*pLastMin = NULL;
 
if (pNode == NULL)
return 0;
int min = pNode-> Data;
pTemp = pNode-> Next;
while (pTemp!=NULL)
{
if(pTemp->Data <= min)
min = pTemp-> Data;
pTemp = pTemp-> Next;
}
pTemp = pNode;
if (pNode->Data == min){
pNode = pNode-> Next;
free(pTemp);
}
else
{
while (pNode!= NULL)
{if (pNode->Data == min)
pLastMin = pNode;
pNode = pNode->Next
}
pNode = pLastMin;
pLastMin = pNode->Next;
pNode->Next = pLastMin->Next;
free(pLastMin);
}
pNode = pTemp;
return 1;
}
 
Применение 
 
void main
Remove_After_Min (&Element);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2013, 16:01
Помогаю со студенческими работами здесь

Удалить из массива элемент, стоящий в центре (если количество элементов в массиве чётное, то удалить средние два элемента).
Удалить из массива элемент, стоящий в центре (если количество элементов в массиве чётное, то...

Удаление минимального положительного элемента, расположенного после последнего отрицательного элемента
В одномерном массиве размерностью n удалить минимальный среди положительных элементов, выбранный из...

Вставить после каждого нулевого элемента массива элемент, стоящий посередине
Добрый вечер форму. Я у вас тут новенький,и это моя первая тема:) Не знаю куда обратиться поэтому...

Найти максимальный элемент и номер последнего минимального элемента
Данная последовательность из n целочисленных элементов. найти максимальный элемент и номер...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru