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

Стек как линейный список, вывести на печать два последних элемента - C++

Восстановить пароль Регистрация
 
xvost2yxa
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 15
14.06.2013, 11:07     Стек как линейный список, вывести на печать два последних элемента #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
#include <stdio.h>
#include <locale.h>
#include <Windows.h>
 
//структура для описания списка
struct Node
{
    char data[100];     //данные
    Node *next;         //указатель на следующий элемент
};
 
int main()
{
    setlocale(LC_ALL, "Russian");
    Node *head = NULL;
    int n;
    //ввод количества
    printf("Введите количество элементов, которое необходимо добавить в стек: "); scanf("%d", &n);
    if(n > 0)   //проверка корректности ввода
    {
        for(int i = 0; i < n; i++)
        {
            printf("Введите элемент: ");
            char tmp[100]; fflush(stdin);   //очистка буфера
            gets(tmp);                      //ввод данных
            Node *node = new Node;          //создаём новый элемент списка
            strcpy(node->data, tmp);        //копируем в него данные
            node->next = head;              //нужно добавить в начало, поэтому следующий для этого узла будет бывший первый
            head = node;                    //сдвигаем указатель на начало списка
        }
        Node *temp = head;
        printf("%s\n", temp->data); //выводим элемент
        temp = temp->next;          //переходим к следующему
        printf("%s\n", temp->data);
 
    }
    else
    {
        puts("В стеке должен быть хотя-бы один элемент!");      //сообщаем об ошибочном вводе
    }
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2013, 11:07     Стек как линейный список, вывести на печать два последних элемента
Посмотрите здесь:

Вывести на печать значение 2-го и 4-го отрицательного элемента массива B(7)=(-2,3; 0,1; -2,3; 4,1; -3,2; -2,0; -4,0) вместе с их порядковыми №. C++
C++ Вывести на печать список слов, имеющих приставку
Нужно вывести линейный список помогите C++
Вывести линейный список C++
Оптимизировать добавление элемента в линейный список C++
C++ Вывести на печать список автомобилей, заданного производителя
C++ Добавление элемента в линейный список после 1-го, 3-го, 5-го и т.д
Вставка нового элемента в линейный односвязный список перед элементом с максимальным значением ключа C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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