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

Удалить из списка все отрицательные элементы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа со структурами http://www.cyberforum.ru/cpp-beginners/thread85122.html
вот такая задача: Распечатать список учеников музыкальной школы, которые учатся играть на скрипке. Указать сколько лет они занимаются музыкой. для зачета сказали решить. я в программировании полный ноль.
C++ Лабораторка с матрицами Всем Привет_))) Ребят, у меня проблема. Задание: Дана матрица B Найти в каждой строке максимальный и минимальный элементы и поменять их местами с первым и последним соответственно. Как на блок-схемах выглядит понимаю, а вот с кодировкой на С нет. подскажите, кто чем может_))).Заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread85118.html
не умею пользоваться функциями C++
задание: дан массив целых чисел с кол.элементов n. проверить выполняется ли условие a=-a, то есть является правая половина зеркальным отображением левой при смене знака на противоположный. если не является. то указать позиции первых несовпадающих элементов. ввод исходных данных, сама обработка и вывод в виде отдельных функций эта без функций как это сделать? #include<iostream> using...
ошибка variable-size type declared outside of any function C++
#include <iostream> using namespace std; int N,K,M; void vvod(int N,int A,int I); void proverka(int J,int M,int A1); void vivod(int I1,int K,int A2); int main()
C++ Открываем текстовый файл и выводим все нечетные строки. http://www.cyberforum.ru/cpp-beginners/thread85103.html
Помогите с задачкой в обычном Си Открываем текстовый файл и выводим все нечетные строки.
C++ Упорядочить слова по алфавиту Дано предложение, слова в нем разделены пробелом. Упорядочить слова по алфавиту (только по первой букве). подробнее

Показать сообщение отдельно
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
13.01.2010, 11:35     Удалить из списка все отрицательные элементы
Сорри: Поспешил с функцией вот исправленная версия:
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
//удаление отрицательных элементов скписка
long DeleteNegative(Node **pbeg, Node **pend){  
if((*pbeg)==NULL||(*pend)==NULL)return false;
Node * temp = *pbeg;
//выполяем поиск по отрицателности
while(temp){
    //Если нашли отрицателный
    if(temp->dan<0){
    
        //если удаляемый узел это конец
        if(temp ==(*pend)){
        (*pend)=(*pend)->prev;
        (*pend)->next=NULL;
        }
        //если удаляемый узел начало
        else if(temp ==(*pbeg)){
        (*pbeg)=(*pbeg)->next;
        (*pbeg)->prev=NULL;
        }
        //иначе удаляем из середины
        else  {      
        (temp->prev)->next=temp->next;
        (temp->next)->prev=temp->prev;  }
  
        delete temp;  //удаляем узел 
        temp = NULL;  //в ноль на всякий
        //Снова утсанавливаем указатель на начало списка
        temp = *pbeg; 
        continue;
        
        
    }
temp=temp->next; //следующий
}
 
return 0;    
}
Добавлено через 11 минут
Сорри: Поспешил с функцией вот исправленная версия:
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
//удаление отрицательных элементов скписка
long DeleteNegative(Node **pbeg, Node **pend){  
if((*pbeg)==NULL||(*pend)==NULL)return false;
Node * temp = *pbeg;
//выполяем поиск по отрицателности
while(temp){
    //Если нашли отрицателный
    if(temp->dan<0){
    
        //если удаляемый узел это конец
        if(temp ==(*pend)){
        (*pend)=(*pend)->prev;
        (*pend)->next=NULL;
        }
        //если удаляемый узел начало
        else if(temp ==(*pbeg)){
        (*pbeg)=(*pbeg)->next;
        (*pbeg)->prev=NULL;
        }
        //иначе удаляем из середины
        else  {      
        (temp->prev)->next=temp->next;
        (temp->next)->prev=temp->prev;  }
  
        delete temp;  //удаляем узел 
        temp = NULL;  //в ноль на всякий
        //Снова утсанавливаем указатель на начало списка
        temp = *pbeg; 
        continue;
        
        
    }
temp=temp->next; //следующий
}
 
return 0;    
}
 
Текущее время: 22:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru