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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.90
sus_scorfa
0 / 0 / 0
Регистрация: 25.12.2008
Сообщений: 18
#1

Создать список вычислить в нем минимум - C++

17.06.2009, 11:50. Просмотров 3834. Ответов 4
Метки нет (Все метки)

запускаю

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
#include <stdafx.h>
#include "stdio.h"
#include "conio.h"
#include <iostream>
using namespace std;
 
typedef struct node
{
int val;
struct node *next;
struct node *prev;
} node;
 
int find(node *first)
{
int min = 99999;
node *p;
for(p = first; p != 0; p = p->next)
if(p->val < min)
min = p->val;
return min;
}
// Ввод с клавиатуры (stdin)
node *New()
{
node *top = 0, *p = 0, *n;
int val;
 
while(1)
{
cin >> val;
if(val == 0) break; // Выйти, когда введено 0
 
n = new node;
n->prev = p;
n->next = 0;
n->val = val;
 
if(!top) top = n;
p = n;
}
 
return top;
}
int main()
{
node *n; int min;
 
cout << "vvedite elementi spiska (0 zavershaet vvod)\n";
n = New();
 
min = find(n);
cout << "minimalniy element: " << min << "\n";
 
getch();
return 0;
}
открывается черное окно
ввожу элементы
жму энтер

а он мне в ответ выдает в любых случаях и числах
что минимальный элемент тот что стоит первым в списке-ошибка в поиске минимума
помогите найти ее пожалуйста)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2009, 11:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать список вычислить в нем минимум (C++):

Создать двусвязный список и найти в нем максимум - C++
прошу напишите пожалуйста прогу, которая создаст двусвязный список и найдёт в нем максимум

Создать связный динамический список двунаправленный и в нем обеспечить подсчет элементов - C++
Создать связный динамический список двунаправленный и в нем обеспечить подсчет элементов и найти минимальный элемент. Это идет как одно...

Создать список из целых чисел, найти в нем максимальный и минимальный элементы и их индексы - C++
Ребята, помогите написать код Задание: Создать список(стек) целых чисел и найти в нем максимальный и минимальный элемент и номера их...

Дан массив. Найти в нем глобальный минимум или максимум - C++
Помогите пожалуйста! Очень нужно решение Дан массив А(М). Найти в нем глобальный минимум или максимум.

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

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

4
sus_scorfa
0 / 0 / 0
Регистрация: 25.12.2008
Сообщений: 18
18.06.2009, 12:23  [ТС] #2
извиняюсь за нарушение
нарушил по халатности
0
Gravity
564 / 558 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
18.06.2009, 14:00 #3
Ошибка не в поиске минимума, а в формировании списка. Вот эта ссылка
Код
n->next = 0;
у всех элементов указывает на нуль, поэтому ты не можешь пройти по списку дальше первого элемента.
1
sus_scorfa
0 / 0 / 0
Регистрация: 25.12.2008
Сообщений: 18
18.06.2009, 22:00  [ТС] #4
и правда...
на что это надо исправить?подскажи пожалуйста
0
Gravity
564 / 558 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
19.06.2009, 22:52 #5
Да вобщем-то дело нехитрое. Наведи ссылку предыдущего элемента на текущий.
Код
if(p)
    p->next = n;
0
19.06.2009, 22:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2009, 22:52
Привет! Вот еще темы с ответами:

Создать линейный список целых чисел. Вычислить количество вхождений заданного числа в очереди - C++
Создать линейный список целых чисел. Вычислить количество вхождений заданного числа в очереди

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

Как вычислить минимум - C++
Подскажите как дописать программу По заданным значениям x,y,z вычислить u=min(x,max(y,z)) #include &quot;stdafx.h&quot; #include...

как вычислить минимум - C++
вот формула u=min(x,max(y,z)); где здесь может быть ошибка #include&lt;iostream.h&gt; using namespace std; int min(int x, int...


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

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

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