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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2011, 21:22   #1
tracer
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 30
Счастье числа и Си++

есть программа которая находит наименьшее число из 20 введённых с клавиатуры.. но работает не верно, подскажите пожалуйста в чём ошибка?

Код:
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int a;
int n=20;
cout<<"Vvedite 20 chisel"<<endl;
for (int i=0; i<n; i++)
{
cin>>a;
}
int amin=a;
for(i=0; i<n; i++)
{
if (a<amin)
amin=a;
}
cout<<amin<<" menshee";
getch();
}
tracer вне форума Ответить с цитированием
Старый 17.05.2011, 21:24   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Она находит не меньшее из 20 введенных, а что-то делает с последним введенным числом.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.05.2011, 21:37   #3
tracer
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 30
По умолчанию

но по идее оно должно действовать так:
вводим число, вводим следующее число - сравниваем с предыдущим, если оно меньше - запоминаем его, если нет - ничего не делает.
и так по циклу пока не пройдут все числа...
tracer вне форума Ответить с цитированием
Старый 17.05.2011, 21:39   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Но у вас она сначала получает 20 чисел от пользователя, а потом что-то делает с последним. Вероятно там должен был быть массив.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.05.2011, 21:51   #5
tracer
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 30
По умолчанию

задание сделать через цикл...
но если как то можно объеденить цикл и массив..
tracer вне форума Ответить с цитированием
Старый 17.05.2011, 21:54   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Код:
for (int i=0; i<n; i++)
{
cin>>a;
}
Либо } уберите (и мб дальше что-то еще надо подправить, не вникал), либо вводите там в массив и потом в нем ищите тоже с помощью цикла.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 17.05.2011 в 21:56.
Alex11223 вне форума Ответить с цитированием
Старый 17.05.2011, 22:05   #7
tracer
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 30
По умолчанию

вставил последние скобки и заработало...
Код:
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int a;
int n=20;
cout<<"Vvedite 20 chisel"<<endl;
for (int i=0; i<n; i++)
{
cin>>a;
int amin=a;
for(i=0; i<n; i++)
{
 for (int i=0; i<n; i++)
{
if (a<amin)
amin=a;
}
cout<<amin<<" menshee";
getch();
}
}
}
tracer вне форума Ответить с цитированием
Старый 17.05.2011, 22:08   #8
tracer
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 30
По умолчанию

анет
просто выводит первое число как наименьшее.. а это не всегда верно
tracer вне форума Ответить с цитированием
Старый 17.05.2011, 22:21   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Форматируйте нормально, сразу увидите в чем ошибка (по крайней мере { })...
Ваш код отформатированный:
Код:
void main()
{
	clrscr();
	int a;
	int n=20;
	cout<<"Vvedite 20 chisel"<<endl;
	for (int i=0; i<n; i++)
	{
		cin>>a;
		int amin=a;
		for(i=0; i<n; i++)
		{
			for (int i=0; i<n; i++)
			{
				if (a<amin)
					amin=a;
			}
			cout<<amin<<" menshee";
			getch();
		}
	}
}
Вот правильный варинат
Код:
	int n=20;
	cout<<"Vvedite 20 chisel"<<endl;
	cin >> a;
	int amin=a;
	for (int i=0; i<n-1; i++)
	{
		cin>>a;
		if (a<amin)
			amin=a;
	}

	cout<<amin<<" menshee";
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.05.2011, 22:45   #10
tracer
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 30
По умолчанию

спасибо огромное!
начинаю вникать в этот язык, благодаря вам
tracer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VisualBasic.Исключить из числа цифры, стоящие между первой и последней цифрой числа. ride013 Помощь студентам 0 03.05.2011 21:20
Даны натуральные числа n и m. Получить сумму m последних цифр числа n pahanzona Microsoft Office Excel 11 27.02.2011 02:17
Вычислить:у=а*(в*в*в)*с,где а,в,с-двоичные числа.Для хранения числа использ.массив! Таняпервокурсница Помощь студентам 4 04.06.2010 12:08
Даны натуральные числа m,n. Посчитать сумму m последнего числа n. лялька Паскаль, Turbo Pascal, PascalABC.NET 6 25.12.2008 15:22
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа Woland-itn Паскаль, Turbo Pascal, PascalABC.NET 3 23.03.2008 21:49