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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
#1

Создать список вещественых чисел.Найти разность между наибольшим и наименьшим элементами. - C++

27.05.2011, 00:36. Просмотров 1168. Ответов 1
Метки нет (Все метки)

Создать список вещественых чисел.Найти разность между наибольшим и наименьшим элементами.

Помогите пожалуйста!Вообще эти списки не разбираю((

Добавлено через 1 час 49 минут
ВОТ ЧТО ПОЛУЧИЛОСЬ!!Нашла минимум и максимум!Помгите найти разность.Пожалуйста!!!

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
 
 
      struct tsp
        {   /* Информационная часть, состоящая из одного поля.  */
            float num;     
        tsp  * next;   /* Адресная часть, состоящая из одного поля. */
        };
 
 
 
 
        class clsp
        {    tsp *P;     // Адрес начала списка.
              int n;       // Количество элементов списка.
              public:
// Конструктор для задания количества элементов списка.
             clsp(int k)    { n=k;}
// Метод для создания списка.
             void CREATE1();
/* Метод для просмотра элементов списка (вывод на экран).  */
                void LOOK();   
                void MyMIN();
                void MyMAX();
        };
 
 
 
 
          void clsp::CREATE1()
          {     tsp *T,  *Q;
/* Создаём фиктивный элемент списка, который никогда не удаляем и перед которым ничего не вставляем. Используется, чтобы вставка в начало списка и удаление первого элемента выполнялись с помощью одинаковых алгоритмов. */
               T=new tsp;
               T->num=0;
               P=T;
               for (int i=1; i<=n;i++)
                 { // Резервируем память для одного элемента списка.
                        Q=new tsp;
                   // Определяем информационную часть нового элемента.
                        cin>>Q->num;
                   // "Cоединяем" его с предыдущим элементом.
                        T->next=Q;
                       T=Q;
                }
                 /*Последний элемент должен содержать адрес NULL. */  
                      Q->next=NULL;
          };
 
 
 
 
     void clsp::LOOK()
     {   tsp *Q;
 
/* Так как в начале списка размещается фиктивный элемент, то перехо-дим на второй, то есть на первый реальный элемент. Фиктивный элемент не выводим.  */
  Q=P->next;
    while ( Q)    //  или while (Q!=NULL)
      {  cout<<Q->num<<"  ";   // Вывод информационной части.
          Q=Q->next;                   // Переход на следующий элемент.
      }
    cout << endl<<endl;
 };
 
 
 
 
 
  void clsp::MyMIN()
      {        tsp *Q1, *Q2, *Qmin;
               Q1=P->next;
 
/* Находим элемент с минимальной информационной частью, т. е. наи-меньшее число, начиная с Q1. */
                Q2=Q1->next;
                Qmin=Q1;
                while (Q2)
                    {  if (Q2->num<Qmin->num)
                             Qmin=Q2;
  // Продолжаем находить минимальное число.
                       Q2=Q2->next;
                       }
 
             cout<<Qmin->num<<"  "<<endl;
 
    }
 
 
 
 
 
  void clsp::MyMAX()
      {        tsp *Q1, *Q2, *Qmax;
               Q1=P->next;
 
/* Находим элемент с минимальной информационной частью, т. е. наи-меньшее число, начиная с Q1. */
                Q2=Q1->next;
                Qmax=Q1;
                while (Q2)
                    {  if (Q2->num>Qmax->num)
                             Qmax=Q2;
  // Продолжаем находить минимальное число.
                       Q2=Q2->next;
                       }
 
             cout<<Qmax->num<<"  "<<endl;
 
    }
 
 
 
 
 
 
 
 
 
     int main()
     {     int n2, flag;
     cout <<endl<< "number of elements n=";
     cin>>n2;
     clsp OBSP(n2);            // Создание объекта
     OBSP.CREATE1();
     cout << endl<<"Looking of elements   ";
     OBSP.LOOK();
     flag=1;
     while (flag)
 
  {    cout << "1  -- LOOK"<<endl<<
               "2  -- MINIMUM"<<endl<<
               "3  -- MAXIMUM"<<endl<<
               "4  -- REZULTAT"<<endl<<
               "0  -- EXIT"<<endl;
        cin>>flag;
 
               switch (flag)
         {
             case 1:   OBSP.LOOK();  break;
             case 2:  cout << endl<<" min= ";  OBSP.MyMIN();  break;
             case 3:  cout << endl<<" max= ";  OBSP.MyMAX();  break;
             case 0:   flag=0; break;
             default:   cout<<endl<<"Error!!!!!   Repeat!!!!"<<endl;
         }
  }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2011, 00:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать список вещественых чисел.Найти разность между наибольшим и наименьшим элементами. (C++):

Найти сумму чисел, расположенных между наибольшим и наименьшим элементами - C++
Дана последовательность из 10 чисел. Найти сумму чисел, расположенных между наибольшим и наименьшим элементами

Найти разность между наименьшим и наибольшим членом последовательности - C++
Даны натуральные числа а1,а2,а3.. Признак конца последовательности &quot;11&quot;. Нужно найти разность между наименьшим и наибольшим числом...

Вводится последовательность из N произвольных чисел. Вычислить разность между наименьшим и наибольшим значения - C++
Вводится последовательность из N произвольных чисел. Вычислить разность между наименьшим и наибольшим значениями последовательности. ...

Найти сумму элементов массива, расположенных между наименьшим и наибольшим по величине элементами - C++
Программа работает некорректно! в чем причина? Найти сумму элементов в A(n), расположенных между наименьшим и наибольшим по величине...

Вычислить разность между наименьшим и наибольшим значениями последовательности. - C++
Вводится последовательность из N произвольных чисел. Вычислить разность между наименьшим и наибольшим значениями последовательности. ...

Найти разницу между наибольшим и наименьшим из заданных четырех положительных чисел - C++
Найти разницу между наибольшим и наименьшим из заданных четырех положительных чисел.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
NightmareZ
1340 / 563 / 37
Регистрация: 31.03.2009
Сообщений: 1,919
27.05.2011, 04:52 #2
Почему не используешь std::list<>?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2011, 04:52
Привет! Вот еще темы с ответами:

Найти разность между произведением нечетных чисел и наибольшим среди отрицательных - C++
Вводится последовательность из N целых чисел, найти разность между произведением нечетных чисел и наибольшим среди отрицательных.

Найти разность между произведением нечетных чисел и наибольшим среди отрицательных - C++
Помогите пожалуйста решить задачку,сама пыталась,не выходит:cry:вот условие: Вводится последовательность из N целых чисел, найти...

Найти разность между произведением нечетных чисел и наибольшим среди отрицательных - C++
Всем привет) Вот дали задачу племяннице, а она соответственно попросила меня ее решить полагая, что я понимаю в С++, пришлось согласиться....

Для одномерного числового массива вычислить разность между наибольшим и наименьшем элементами. - C++
7.7.1. Помогите, пожалуйста, решить задачу в С++. Для одномерного числового массива вычислить разность между наибольшим и...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru