Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 1
Регистрация: 30.10.2012
Сообщений: 61

Подобрать к заданному числу ранвую или близкую по значению переменную

08.11.2012, 12:23. Показов 3026. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вобщем есть 10 переменных. Пользователь задает число Н и к нему подбирается равная либо большая (максимально к нему близкая) по значению переменная.
Как это осуществить в плане кода?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.11.2012, 12:23
Ответы с готовыми решениями:

Найти сумму элементов из двух массивов, наиболее близкую к заданному числу
Даны два массива x содержащий k элементов и y содержащий n элементов и число q. Найти сумму вида x+y, наиболее близкую к числу q

Найти сумму двух элементов массива, максимально близкую к заданному значению (но не превышающую его)
Помогите мне создать алгоритм который бы сумировал каждую пару чисел и выводил которая ближе всего к заданному x. Пример ...

Найти элемент в массиве, который ближе всего по значению к заданному числу
подскажите пожалуйста с основным алгоритмом

27
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
27.11.2012, 16:17
Студворк — интернет-сервис помощи студентам
Может, как-то так:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
class Program
{
    static void Main(string[] args)
    {
        const int n = 8;
        Int64[] a = new Int64[] { 6, 28, 496, 8128, 33550336, 8589869056, 137438691328, 2305843008139952128 };
        Int64 k, m = Int64.MaxValue, j = 0;
        int r = 0;
        do {
            Console.Write("Input k: "); 
            k = Convert.ToInt64(Console.ReadLine());
        try
        {
 
            if (k <= 0)
                throw new FormatException();
            else
                break;
        }
 
        catch (FormatException e)
        {
            Console.WriteLine("Vvedite polozhitel`noe chislo:  "+e.Message);
            {
                if (r == 3)
                {
                    Random t = new Random();
                    k = t.Next(1, 100000000);
                    Console.Write("K je nastavene na :   ");
                    Console.Write(k);
                    break;
                }
                else
                   r++;
            }
        }
        } while (true);
        for (int i = 0; i < n; i++)
            if (Math.Abs(a[i] - k) < m && a[i] > k)
            {
                m = Math.Abs(a[i] - k);
                j = i;
            }
        //vypisovani vysledku
        Console.WriteLine(" Nejblizsi dokonale cislo  " + a[j]);
        Console.ReadKey();
    }
}
Честно говоря, еще как с помощью try-catch перенаправлять опять на ввод и проверку. Если Вам без цикла надо, тогда goto используйте
0
0 / 0 / 1
Регистрация: 30.10.2012
Сообщений: 61
27.11.2012, 23:20  [ТС]
Кстати у тебя тоже после того как ловит ексепшен консоль закрывается
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
27.11.2012, 23:27
Это вопрос? Нет, все как надо работает.
0
0 / 0 / 1
Регистрация: 30.10.2012
Сообщений: 61
27.11.2012, 23:31  [ТС]
Я ничего не меня в конкретно твоем коде, вставляю пишу "ываываывпырлвкп" и ничего не происходит)

Добавлено через 3 минуты
Входная строка имела неверный формат. и подсвечивает желтым k = Convert.ToInt64(Console.ReadLine()); вот все что происходит)

У меня та же проблема, после ексепшена либо закрывается либо ничего не происходит, а надо что бы после 3 неправильных вводов(после 3 ексепшенов) делало

C#
1
2
3
4
5
 Random t = new Random();
                    k = t.Next(1, 100000000);
                    Console.Write("K je nastavene na :   ");
                    Console.Write(k);
                    break;
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
27.11.2012, 23:32
NosferatuMax, ну, так понятное дело, там эксепшн только на ввод <= стоит.
0
0 / 0 / 1
Регистрация: 30.10.2012
Сообщений: 61
27.11.2012, 23:34  [ТС]
просто суть что сам ексепшен вписать не проблема но после него тупо конец програмы происходит, нельзя ввести еще раз, да и не надо там ставить <= он по сути сам отлавливает и без этого, проблема что нельзя сделать это много раз(3)
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
27.11.2012, 23:38
Вот, думаю это: 16 строку переместить в блок try.
1
0 / 0 / 1
Регистрация: 30.10.2012
Сообщений: 61
27.11.2012, 23:51  [ТС]
Да все работает как часы...Спасибо, такая мелочь а сколько мучался.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.11.2012, 23:51

Определить индекс элемента, находящийся ближе всего по значению к заданному числу.
1. Дан одномерный массив. Определить индекс элемента, находящийся ближе всего по значению к заданному числу. 2. создать массив содержащий...

Определить, есть ли хотя бы одно число, которое кратно заданному числу А и не кратно заданному числу В
Составить программу для решения предложенной задачи. Выясните имеются ли среди чисел i3 – 17*i*n2 + n3, i = 1,2,…,n хотя бы одно число,...

Массив: Найти сумму вида X[i]+Y[i] , наиболее близкую к числу q
.Даны два массива x &lt;=...&lt;=X, и Y &lt;=...&lt;=Y и число q . Найти сумму вида X+Y , наиболее близкую к числу q

Равен ли первый или второй элементы списка заданному числу
Дан список, объектами которого являются целые числа. Размерность списка может быть любой. Равен ли первый или второй элементы списка...

Получить все члены последовательности меньшие или равные заданному числу
Дано действительное число b&gt;0. Последовательность a1, a2,… образована по следующему закону: a1=1, a2=2*a1+1, …, ai+1=2*ai+1 (i=2,3,…)....


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №3)
Maks 15.11.2026
Обновленная версия предыдущей обработки. Изменения коснулись букв: Ъ, Ы, Ь, Э, отображения которых зависят от положения реквизита "Транслитерация имён". Изменено отображение буквы Й. Добавлена. . .
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru