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

Задачка на динамический список. Помогите дорешать - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача на массивы http://www.cyberforum.ru/cpp-beginners/thread414277.html
Помогите пожалуйста решить программу на си++: вывести информацию о наибольшем, наименьшем и наименее удаленном от среднего арифметического члена последовательности вещественных чисел.:scratch: Оч надо...плзз
C++ Работа со списками Помогите пожалуйста!Днем сдавать зачет! Разработать программу формирования и вывода на печать двунаправленного списка. Двунаправленный список является динамической структурой данных и отличается от однонаправленного списка тем, что каждый его элемент хранит не одну ссылку (указатель на следующий элемент), а две. Из них одна указывает на предыдущий элемент, другая - на следующий элемент... http://www.cyberforum.ru/cpp-beginners/thread414250.html
C++ Пару вопросов насчёт блок-схемы (функция)
вначале программы у меня идёт функция потом идёт сама программа + вызов этой функции 1. как должна выглядеть блок-схема самой функции? (начало)-(конец) писать надо? где писать название этой функции? 2. вызов функции я так понимаю обозначается прямоугольников с двумя чертами внутри, в нём название функции, а параметры надо указывать?
C++ Структуры и массивы структур
Создать массив структур. Каждая структура состоит из таких элементов: фамилия студента, курс, средний балл. Для студентов контрактной формы обучения указывается стоимость контракта, а для студентов, которые учатся на бюджете - размер стипендии. Реализовать такие операции: 1. Определить фамилии студентов со средним баллом выше четверки, вывести отдельно студентов контрактной и бюджетной формы...
C++ Многомерные массивы http://www.cyberforum.ru/cpp-beginners/thread414243.html
Задать матрицу размерности (mxn) (m,n >= 3). Начиная из левого нижнего угла матрицы и двигаясь только направо и вверх, достичь ее правого верхнего угла и выбрать при этом такие значения элементов, сумма которых будет максимальной. Вывести перечень выбранных элементов.
C++ перевод с Pascal на C++ Const Max=1000; Eps=0.00001; Type Para=record X: integer; подробнее

Показать сообщение отдельно
artem0711
 Аватар для artem0711
7 / 7 / 1
Регистрация: 25.08.2010
Сообщений: 62
22.12.2011, 08:37     Задачка на динамический список. Помогите дорешать
Создать список, заполнив его n числами вида: 5, 10, 15, 20, 25, ...
С помощью функции вывести список на экран.
Вставить значение x, введённое с клавиатуры, таким образом, чтобы не нарушилась упорядоченность списка.

Список создал, смог организовать вставку значения x только в середину списка. Если вводить число, которое должно вставать в начало или в конец списка - программа вылетает с ошибкой. Вот код:

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
#include "stdafx.h"
#include <conio.h>
#include <iostream>
 
using namespace std;
 
struct List
{
    int data;
    List *next;
};
 
typedef List* LPtr;
 
LPtr Form(int n)
{
    LPtr H = NULL;
    H = new List;
    H->data = 5;
    H->next = NULL;
    LPtr tmp = H;
    for (int i=2; i<=n; i++)
    {
        tmp->next = new List;
        tmp = tmp->next;
        tmp->data = 5*i;
        tmp->next = NULL;
    }
    return H;
}
 
void Show(LPtr H)
{
    LPtr tmp = H;
    while (tmp)
    {
        cout<<tmp->data<<" ";
        tmp = tmp->next;
    }
}
 
LPtr Search(LPtr H, int x)
{
    LPtr tmp = H;
    while (tmp && tmp->data>x || tmp->next->data<=x)
        tmp = tmp->next;
    return tmp;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{   
    int x;
    LPtr L = NULL, tmp, t;
    L = Form(20);
    Show(L);
    cout<<"\nEnter digital: "; cin>>x;
    tmp = Search(L, x);
    t = new List;
    t->data = x;
    t->next = tmp->next;
    tmp->next = t;
    Show(L);
    delete L;
    delete tmp;
    delete t;
    getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru