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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Посимвольным считыванием файла определить, является он символьным или бинарным http://www.cyberforum.ru/cpp-beginners/thread1160236.html
Условие : Посимвольным считыванием файла определить, является он символьным или бинарным, вывести статистику (наиболее часто используемые символы). Помогите разобраться с условием.Я знаю что есть режимы работы с файлами(символьный и бинарный).но не пойму как я буду поcимвольно определять какой это файл.
C++ После компилировки программа вылетает Я решил написать простенькую программу по преобразованию градусов Цельсия в градусы Фаренгейта в Code::Blocks ,но после компилировки когда я ввожу значение цельсия и нажимаю Enter то программа вылетает, но в конструкторе(Code::Blocks) когда я нажимаю Run всё прекрасно работает.Как сделать так что бы не вылетало?:help: // Классическое начало. #include <stdio.h> #include <iostream> int main... http://www.cyberforum.ru/cpp-beginners/thread1160218.html
C++ Распечатать анкетные данные студентов, получивших на последней сессии оценки "2".
Распечатать анкетные данные студентов, получивших на последней сессии оценки "2".
C++ Напишите программу для нахождения всех слов, которые встречаются в каждом из двух предложений.
Напишите программу для нахождения множества всех слов, которые встречаются в каждом из двух заданных предложений.
C++ MPI процессы http://www.cyberforum.ru/cpp-beginners/thread1160185.html
пусть n-количество процессов. процесс с номером 0 запрашивает у пользователя элементы квадратной матрицы размерности n и рассылает их всем остальным так, что i-ый процесс получает i-ую строку матрицы. затем i-ый процесс вычисляет произведение элементов в i-ом столбце матрицы и прибавляет к нему i.вычисленные значения собираются на процессе с номером 0 и выводятся на экран.вычисления выполняются с...
C++ Вычислить сумму тех целых чисел на интервале(A,B), которые равны двойке в произвольной целой степени Что то я задачку не понял , может кто объяснить? Вычислить сумму тех целых чисел на интервале(A,B), которые равны двойке в произвольной целой степени. подробнее

Показать сообщение отдельно
RoNNeR
1 / 1 / 1
Регистрация: 27.07.2012
Сообщений: 22
28.04.2014, 20:22  [ТС]     Задача Иосифа Флавия. Удалить каждый второй элемент из списка и в конце вывести на экран последний оставшийся элемент
Изменил код, однако при выводе на экран вылетает ошибка, а на экране показано только последнее число
C++ (Qt)
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
#include "stdafx.h"
#include <iostream>
using namespace std;
struct Node
    {int Num;
    Node* next;
    
    };
 
typedef Node *PNode;
void Show (PNode Head, int z);
void Del (int x, Node *Head);
Node * Add(int n);
 
int _tmain(int argc, _TCHAR* argv[])
{Node *Head,*Tail;
Head = Tail = 0;
int size = 0;
int n,i;
cout << "enter N\n";
cin >> n;
 
Add (n);
Show (Head, n);
Del (n, Head);
 
cout << endl << endl;
 
Show (Head, n);
 
system ("pause");
    return 0;
}
Node * Add(int n)
{
    Node *Head = new Node;
    Head->Num = 1;
    Node *cur = Head;
    for(int i = 2; i <= n; i++)
    {
        cur->next = new Node;
        cur = cur->next;
        cur->Num = i;
    }
    cur->next = Head;
    return Head;
}
void Show (PNode Head, int z)
    {Node *temphead = Head;
    int temp = z;
 
    while (temp != 0)
        {cout << temphead -> Num << " "; //Теперь ошибку выдает здесь
        temphead = temphead -> next;
        temp --;
        }
    }
void Del (int x, Node *Head)
    {
    Node *temp = Head;
    int k = 1;
    while (Head -> next != 0)
                Head = Head->next;
    Head -> next = Head;
    while (Head != Head -> next)
        {
        if (k == 2)
            
            {temp = Head -> next;
            Head -> next = temp -> next;
            delete (temp);
            k--;
            }
 
        else {temp = Head; Head = Head -> next; k++;}
        
        }
    }
 
Текущее время: 11:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru