Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 21.12.2013, 16:51   #1
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию Добавление нового элемента

Задание следующее: Ввести числа,отсортированные по возрастанию. Сформировать из них список, организованный как стек.Потом ввести еще несколько чисел,вставляя их в стек так,чтобы сохранилась упорядоченность.
Я ввела числа, отсортировала их, но как следующие числа вставить в стек?
Код:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
 
typedef struct inform
{
    long int num;
    struct inform *next;
    
}INF;
 
    INF *r; //указатель на текущий єлемент
    INF *beg=NULL; //указатель на начало
    INF *end=NULL;  //указатель на конец
void sort(void);
void PutInStack(void);
int main (void)
{
 
    printf("\nVveditе chysla\n");
    PutInStack();
 
    printf("Spysok");
    r=beg;
    while(r!=NULL)
    {
        printf("\n %li",r->num);
        r=r->next;
    }
   /* sort();
    printf("\nVveditе novye znachennia\n");
    PutInStack();*/
 
    
}
void PutInStack(void)
{
do
    {
        r=(INF*)malloc(sizeof(INF));
        scanf("%li",&r->num);
        if(r->num==0)
        {
            free(r);
            break;
        }
        if(beg==NULL&&end==NULL)
            beg=r;
        else
            end->next=r;
            end=r;
            end->next=NULL;
    }
    while(1);   
}
 
void sort(void)
{
    for(r=beg;r;r=r->next)
        for (end=beg;end;end=end->next)
            if(r->num<end->num)
            {
                int j=r->num;
                r->num=end->num;
                end->num=j;
            }
            puts("\nSort");
            for(INF *r=beg;r;r=r->next)
                printf("%li\n",r->num);
            
 
}
Вероника99 вне форума   Ответить с цитированием
Старый 21.12.2013, 17:38   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,940
По умолчанию

Вероничка, вы хоть предавляете, что такое - стек?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума   Ответить с цитированием
Старый 21.12.2013, 17:44   #3
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,940
По умолчанию

Цитата:
NF *end=NULL; //указатель на конец
Девушке, простительно.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума   Ответить с цитированием
Старый 23.12.2013, 16:46   #4
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Smitt&Wesson, это память,предназначенная для временного хванения данных.
Вероника99 вне форума   Ответить с цитированием
Старый 23.12.2013, 16:47   #5
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Ой я там ошиблась,их надо вставить в список,а не в стек
Вероника99 вне форума   Ответить с цитированием
Старый 23.12.2013, 17:09   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
память,предназначенная для временного хванения данных.
Я бы сказал что это модель памяти.
Цитата:
их надо вставить в список,а не в стек
Так всетки... Туда или сюда?
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 24.12.2013, 16:06   #7
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Плохо объяснила,вообщем задание:
С клавиатуры ввести набор чисел типа long int, отсортированных по возрастанию. Сформировать из введенных чисел список,организованный как стек.Потом последовательно ввести с клавиатуры еще несколько чисел,так чтобы сохранилась общая упорядоченность.Сделать отдельную функцию для введения к отсортированному односвязному списку нового элемента

Цитата:
Сообщение от Stilet Посмотреть сообщение
что это модель памяти.
Да,это вернее

не NULL, а 0 при объявлении указателей,какой позор)больше никогда ничего не буду бездумно копировать)

Последний раз редактировалось Stilet; 24.12.2013 в 16:39.
Вероника99 вне форума   Ответить с цитированием
Старый 24.12.2013, 17:12   #8
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Уже сделала.
Вероника99 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция добавление нового элемента в дерево shilovec5377 Общие вопросы C/C++ 1 07.06.2013 10:39
Функция создания нового элемента списка C++ system_error Помощь студентам 5 03.05.2011 21:14
добавление элемента массива при подключении нового пользователя Lokos Работа с сетью в Delphi 10 01.11.2010 03:27
Добавление нового шрифта Alex2009 Общие вопросы Delphi 1 24.04.2010 13:46
добавление нового типа данных Sparky Помощь студентам 10 07.04.2010 11:10


19:38.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.