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

Создать односвязный список из последовательности чисел, удалить из него все простые числа - C++

Восстановить пароль Регистрация
 
cyberj
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 6
14.05.2014, 02:46     Создать односвязный список из последовательности чисел, удалить из него все простые числа #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
#include <iostream>
using namespace std;
struct node
{
    int inf;
    node *next;
};
void main()
{
    int a[5], i;
    node *fr, *r, *er, *p;
    fr = NULL;
    er = NULL;
    p = NULL;
    for (i = 0; i < 5; i++)
    {
        cin >> a[i];
    }
    for (i = 0; i < 5; i++)
    {
        r = new node;
        r->inf = a[i];
        r->next = NULL;
        if (fr == NULL)
            fr = r;
        else
        {
            er->next = r;
 
        }
        er = r;
    }
 
    r = fr;
    cout << "\n";
    while (r != NULL)
    {
        for (i = 2; i <sqrt( r->inf); i++)
        {
            if (r->inf%i != 0)  if (r == fr)
                {
                    r = fr->next;
                    delete fr;
                    fr = r;
                    r = r->next;
                    
                }else if (r != er && r != fr)
                    {
                        p = r->next;
                        r->next = p->next;
                        delete p;
                        r = r->next;
 
                    }else if (r == er)
                        {
                            r->next = NULL;
                            delete er;
                            er = r;
                            r = r->next;
 
                        }
    }
    }
    r = fr;
    while (r != NULL)
    {
        cout << r->inf << "\n";
        r = r->next;
    }
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2014, 02:46     Создать односвязный список из последовательности чисел, удалить из него все простые числа
Посмотрите здесь:

Создать динамический список. Удалить из него первый и последний элемент. C++
Создать список из целых чисел. Найти минимальный элемент и удалить из списка все элементы равные минимальному C++
Простые числа. Список простых чисел C++
Создать список целых чисел. Создать новый список, записав в него отрицательные элементы C++
C++ Постройте цепной список путем включения в него n целых чисел, идущих в неубывающей последовательности
C++ Построить односвязный список из входной последовательности чисел
C++ Удалить все простые числа и найти среднее арифметическое до и после удаления простых чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cyberj
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 6
21.05.2014, 00:07  [ТС]     Создать односвязный список из последовательности чисел, удалить из него все простые числа #2
нет вообще идей?
Yandex
Объявления
21.05.2014, 00:07     Создать односвязный список из последовательности чисел, удалить из него все простые числа
Ответ Создать тему
Опции темы

Текущее время: 03:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru