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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2010, 11:59   #1
stas135642
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 39
По умолчанию Найти среди чисел пару чисел с минимальной по модулю разностью

Помогите студенту ))))
С клавиатуры вводятся 4 целых числа a, b, c, d. Найти среди них пару чисел с минимальной по модулю разностью. Операторы цикла в программе не использовать.
Я вначале искал минимальный и максимальный элемент , принимая один из за max1 , а другой за min1 , потом искал числа в середке (min2,max2), а далее сравнивал разность (min1-min2)и (min2-max2)и (max1-max2) , компилируется вроде норм , а вот консоль пишет ошибку . Если надо , то могу скинуть этот злосчастный код .
Язык :C/C++

Последний раз редактировалось stas135642; 31.10.2010 в 12:07.
stas135642 вне форума Ответить с цитированием
Старый 31.10.2010, 12:07   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Я думаю, проще будет так (поскольку пар всего 6)
Код:
int i = 1, j = 2;
int min = abs(a - b);
if (abs(a - c) < min)
 {
 i = 1; j = 3;
 min = abs(a - c);
 }
if (abs(a - d) < min)
 {
 i = 1; j = 4;
 min = abs(a - d);
 }
//etc
i - номер первого числа, j - номер второго. (a - 1, b - 2, c - 3, d - 4)
Коряво, конечно, но раз уж нельзя циклы использовать...
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 31.10.2010, 12:40   #3
stas135642
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 39
По умолчанию

Огромное спасибо за помощь !!!!! А вот и прога
#include <stdafx.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
void main()
{
int a,b,c,d,min;
setlocale (LC_ALL,"Russian");
printf ("Введите первое число\n");
scanf ("%d",&a);
printf ("Введите второе число\n");
scanf ("%d",&b);
printf ("Введите третье число\n");
scanf ("%d",&c);
printf ("Введите четвертое число\n");
scanf ("%d",&d);
int i = 1, j = 2;
min = abs(a - b);
if (abs(a - c) < min)
{
i = 1; j = 3;
min = abs(a - c);
}
if (abs(a - d) < min)
{
i = 1; j = 4;
min = abs(a - d);
}
if (abs(b - c) < min)
{
i = 2; j = 3;
min = abs(b - c);
}
if (abs(b-d)<min)
{
i=2; j=4;
min =abs(b-d);
}
if (abs(c-d)<min)
{
i=3; j=4;
min=abs(c-d);
}
printf ("min= %d\n",min);
printf ( "номер числа1:%d\n",i);
printf ( "номер числа2:%d\n",j);
getch();
}
stas135642 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан файл, содержащий целые числа. Найти количество нечетных чисел среди элементов файла stasyan Помощь студентам 12 03.04.2010 18:49
Delphi:Определить имеется ли среди чисел a,b,c хотя бы одна пара взаимно противоположных чисел. Skvot Помощь студентам 6 27.04.2009 11:47
Среди чисел из интервала от А до В найти все простые. veterok Помощь студентам 1 22.04.2009 19:23
Дано действительное число А. Найти среди чисел 1, 1+1/2, 1+1/2+1/3, ... svobodys Помощь студентам 0 09.12.2008 20:22
Помогите написать прогу!Среди заданных целых чисел k, l, m найти пары кратных.Написать по проще чемЭесть vdv08 Паскаль, Turbo Pascal, PascalABC.NET 4 04.04.2008 16:56