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

Удалить элемент из списка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подскажите пожалуйста с сортировкой (отсортировать список лиц по алфавиту) http://www.cyberforum.ru/cpp-beginners/thread887994.html
Подскажите пожалуйста. Есть список лиц, например: Иванов Сергей Сергеев Петр Петров Василий Васильев Андрей Андреев Роман Романов Иван Помогите выполнить сортировку (т.е. отсортировать список лиц по алфавиту) Данные считываются из файла. Вот мой код.
C++ Встроенные циклы Доброго времени суток! Помогите разобрать или подскажите где прочитать про встроенные циклы. Что такое цикл я понял, но возник вопрос что такое встроенные циклы. Логически догадаться не сложно в программу встроен цикл поэтому он так и называется. Если это верно, то в какую программу можно встроить цикл ( не могу представить) самую простую программку для примера и самое главное как его... http://www.cyberforum.ru/cpp-beginners/thread887989.html
Подключение библиотек в Eclipse c++ C++
Решил заняться OpenGL и сказал парочку библиотек. Решил добавить их в Eclipse и провалился. Дело в том, что я ни разу такое не делал. В скачанном архиве есть папки includes и lib. я добавляю их через properties-path and symbols проекта соответственно в includes и libraries. и у меня при сборке вылезает такая борода c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find...
C++ Проверьте блок-схему
#include "stdafx.h" #include "stdio.h" void main (void) {int n,i,j,t=0; scanf("%d",&n); for (i=2;i<=n;i++) if(n%i==0){ //проверка делится ли число без остатка for (j=2;j<=(i-1);j++) if(i%j==0) t++; // проверяем является ли делитель простым числом if(t==0) printf("%d ",i);} //если является, то печатаем его getchar();
C++ Описать функцию для подсчета строк, состоящих из одинаковых символов http://www.cyberforum.ru/cpp-beginners/thread887947.html
Здравствуйте) дали задание, помогите пожалуйста разобраться. Описать функцию для подсчета строк, состоящих из одинаковых символов. Спасибо.
C++ Поиск минимального элемента матрицы Люди добрые помогите пожалуйта написать программу на С++ Задан двухмерный массив целых чисел A размером N на M. Найти минимальный элемент и поменять его с элементом A. подробнее

Показать сообщение отдельно
Ezembi
 Аватар для Ezembi
100 / 87 / 3
Регистрация: 29.05.2013
Сообщений: 227
02.06.2013, 18:07     Удалить элемент из списка
Я вспомнил как делал!
1.Создавал новый список
2.Указывал его на начало данного
3.гнал его в цикле, пока не добирался до заданного
4. делал ->next
5.гнал в цикле, пока следующий элемент не заданный (уже исходный список)
6.делал: данный элемент исходного->next = новый список->next

Добавлено через 1 минуту
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include "stdafx.h"
#include <list>
#include "iostream"
#include <stdio.h>
#include <conio.h>
#include<iostream>
#include<cmath>
 
using namespace System;
 
struct list
{
int inf;
list* next;
};
 
list* sp_create();
void prn(list*L);
void obrab(list*L,list* p);
list* del(list*L);
 
int main()
{
    int a[10],n;
    for(int i=0;i<10;i++)
        a[i]=i;
    list* F;
    list* p;
    F=sp_create();
    prn(F);
    p=del(F);
    system("Pause");
    obrab(F,p);
    prn(F);
    system("Pause");
    return 0;
}
 
list* sp_create()
{
 
   list *start,*new_link,*end;
    int n;
    Console::WriteLine(L"Укажите размер списка->");
    scanf("%d",&n);
    end = start = NULL;
    for (int i = 0; i < n; i++)
    {
        new_link = new list();
        Console::WriteLine(L"Элемент списка->");
        scanf("%d",&new_link->inf);
        if (!i)
            start = end = new_link;
        else
        {
            end->next = new_link;
            end = end->next;
        }
    }
     end->next = NULL;
     end = end->next;
    return start;
}
 
void prn(list*L)
{ 
    for (; L; L=L->next)
    std::cout <<L->inf<<":"<<L << ' ';
  std::cout << '\n';
 
}
list* del(list*L)
{ list*p;
    for (int i=1; L; L=L->next,i++)
    {
        if(i==3)
            p=L;
    }
    return p;
}
 void obrab(list*F,list* p){
 int i=0;
 std::cout <<p->inf <<":"<<p<< '\n';
     while(F->next!=p)
         F=F->next;
     F->next=p->next;
 }
только я всегда "удалял" элемент с номером 3
 
Текущее время: 17:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru