Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2012, 01:56   #1
denis2010
Пользователь
 
Регистрация: 16.01.2010
Сообщений: 11
Вопрос программа для нахождения минимального значения

программа считывает последовательность из целых положительных чисел.потом выдает минимальное среди этих.при вводе 0 программа завершит работу.
Код:
#include "IOSTREAM.h"
#include "MATH.h"
#include "conio.h"
 void main(void)
{
int a,b,min;
cout<<"vvedite posle strelki chisla,programma naidet minimal znachenie"<<endl<<"-> ";
cin>>a;
min=a;
while (b!=0)
{ cout<<"-> ";
cin>>b;
if(b<min) {
min=b;};{;} }
cout<<"min chiclo = "<<min<<endl;
 
}
но у меня почему не выполняет цикл while?может в синтаксисе беда?только начал СИ++ осваивать,так что за глупые ошибки извините.
denis2010 вне форума Ответить с цитированием
Старый 05.12.2012, 03:01   #2
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Код:
#include "IOSTREAM.h"
#include "MATH.h"
#include "conio.h"
 void main(void)
{
int a,b,min;
cout<<"vvedite posle strelki chisla,programma naidet minimal znachenie"<<endl<<"-> ";
cin>>a; // ну введете 1 число, а даллее что? 
min=a;
while (b!=0) // вы b не присвоили никакого значения!
{ cout<<"-> ";
cin>>b;
if(b<min) {
min=b;};{;} }
cout<<"min chiclo = "<<min<<endl;
 
}
Я не силен в С++, но я бы сначал спросил, сколько чисел буду вводить, а потом уже в цыкле "принимал" бы числа и нашел бы минимальное из них.
Delphi_ProGer вне форума Ответить с цитированием
Старый 05.12.2012, 03:35   #3
St.Voland
 
Регистрация: 03.12.2012
Сообщений: 4
По умолчанию

Для начала инициализируй b перед while))
St.Voland вне форума Ответить с цитированием
Старый 05.12.2012, 03:56   #4
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

А где же начало блока функции main?) Попробуйте проинициализировать b до цикла, хотя что-то мне подсказывает, что сюда вы кусок кода вставили.... А лучше откажитесь от переменной а, сразу перед циклом вводите b, проверяйте на ноль и присваивайте значение минимальному.
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Старый 05.12.2012, 08:18   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от kventin_zhuk
А лучше откажитесь от переменной а, сразу перед циклом вводите b, проверяйте на ноль и присваивайте значение минимальному.
согласен. +1.

Не нужны тут две переменные, нужно оставить одну (или a или b - это без разницы)!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.12.2012, 11:56   #6
denis2010
Пользователь
 
Регистрация: 16.01.2010
Сообщений: 11
По умолчанию

Цитата:
Сообщение от kventin_zhuk Посмотреть сообщение
А где же начало блока функции main?) Попробуйте проинициализировать b до цикла, хотя что-то мне подсказывает, что сюда вы кусок кода вставили.... А лучше откажитесь от переменной а, сразу перед циклом вводите b, проверяйте на ноль и присваивайте значение минимальному.
Код:
#include "IOSTREAM.h"
#include "MATH.h"
#include "conio.h"
#include "limits.h"
 void main(void)
{
int b;
unsigned long int min;
min=42949667295;
cout<<"vvedite posle strelki chisla,programma naidet minimal znachenie"<<endl<<"-> ";
while (b!=0)
{ cout<<"-> ";
cin>>b;
if(b<min) {
min=b;};{;} }
cout<<"min chiclo = "<<min<<endl;

}
вот теперь так,только у меня почему-то минимальное в конце 0 выдает?как от этого избавиться?
denis2010 вне форума Ответить с цитированием
Старый 05.12.2012, 12:08   #7
denis2010
Пользователь
 
Регистрация: 16.01.2010
Сообщений: 11
По умолчанию

Цитата:
Сообщение от denis2010 Посмотреть сообщение
Код:
#include "IOSTREAM.h"
#include "MATH.h"
#include "conio.h"
#include "limits.h"
 void main(void)
{
int b;
unsigned long int min;
min=42949667295;
cout<<"vvedite posle strelki chisla,programma naidet minimal znachenie"<<endl<<"-> ";
while (b!=0)
{ cout<<"-> ";
cin>>b;
if(b<min) {
min=b;};{;} }
cout<<"min chiclo = "<<min<<endl;

}
вот теперь так,только у меня почему-то минимальное в конце 0 выдает?как от этого избавиться?
я все понял,просто проверка ,что если b=0 то не присваивать ему мин!все работает! спасибо за помощь!
denis2010 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа в С++ для нахождения функции sinx VladJAy Помощь студентам 5 22.11.2012 00:23
Программа в С++ для нахождения суммы от n при i=0 для 2ik. VladJAy Помощь студентам 0 23.10.2012 00:19
функция для вычисления минимального значения Sweet-_-Orange Помощь студентам 3 13.02.2012 15:28
Составить программу для нахождения значения выражения ) dodyks Помощь студентам 4 10.05.2009 16:16
правильно написать формулу нахождения минимального значения из диапазона чисел в строке Legame Microsoft Office Excel 14 01.03.2009 22:29