Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
5 / 5 / 1
Регистрация: 10.01.2014
Сообщений: 34

Поиск одной переменной под другой

04.06.2014, 12:10. Показов 1412. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрые день, сразу прошу извинить за неопределенное название темы!!

Вопрос такой: человек вводит число 42.0 например, а под этим числом обьявлена переменная num7:

C++
1
2
3
4
5
6
float num5 = 43.5;
char* numm5 = "Андрей";
float num6 = 42.1;
char* numm6 = "Владимир";
float num7 = 42.0;
char* numm7 = "Женя";
Как сделать, чтобы в ответе вместо 42.0 выводилась переменная numm7, которую заранее узнать невозможно?
Помогите!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.06.2014, 12:10
Ответы с готовыми решениями:

Зависимость одной переменной от другой
Int main (братья) Только начал изучать с++ как бы банально это не звучало) Прошу помощи в следующем моменте: Есть переменная –...

Соответствие одной переменной другой
Такая задача: Есть 4 числа: a = "0 1 0 2"; Есть частоты, каждая из которых передает отдельный символ: f = "800 900 1000...

Поиск маршрута от одной точки до другой
Добрый день! подскажите возможно ли разработать скрипт для определения расстояния (маршрута) одной точки до другой? На основе данных яндекс...

11
8 / 8 / 4
Регистрация: 23.04.2014
Сообщений: 59
04.06.2014, 12:20
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
int main()
{
    float num5 = 43.5;
    char* numm5 = "Андрей";
    float num6 = 42.1;
    char* numm6 = "Владимир";
    float num7 = 42.0;
    char* numm7 = "Женя";
 
    float input;
    cin >>input;
 
    if(input == 43.5)
        cout << numm5;
    else if(input == 42.1)
        cout << numm6;
    else if(input == 42.0)
        cout << numm7;
    else return(0);
}
1
5 / 5 / 1
Регистрация: 10.01.2014
Сообщений: 34
04.06.2014, 12:24  [ТС]
Спасибо, но мне нужно сделать это поиском, возможно так? Чтобы не проверками, а поиском?
0
8 / 8 / 4
Регистрация: 23.04.2014
Сообщений: 59
04.06.2014, 12:25
Как понять "поиском"? Где искать? В массиве?
0
5 / 5 / 1
Регистрация: 10.01.2014
Сообщений: 34
04.06.2014, 12:28  [ТС]
Может прояснит суть вопроса:
программа выглядит так:
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
        float num5 = 43.5;
        char* numm5 = "Андрей";
        float num6 = 42.1;
        char* numm6 = "Владимир";
        float num7 = 42.0;
        char* numm7 = "Женя";
 
        float win1;
        cout << "Рейтинг игрока которого выиграли: " ;
    cin >> win1;
 
    if (num9-win1 >=20){
    win1 = vkl1;
    vkl1 = 0;
    cout << win1 << " 0";
    }
    else if (num9-win1 <=2){
    win1 = vkl1;
    vkl1 = +2;
    cout << win1 << "+ 2";
    }
    else if (num9-win1 >=2.1<20){
    win1 = vkl1;
    vkl1 = +1;
    cout << win1 << "+ 1";
    }

Нужно чтобы вместо cout << win1 << "+ 1"; текущего рейтинга + 1 выводилось - имя игрока + 1
0
8 / 8 / 4
Регистрация: 23.04.2014
Сообщений: 59
04.06.2014, 12:40
Не знаю. Если исходный код никак не менять, то на ум приходит только это
C++
1
2
3
4
5
6
if(win1== 43.5)
        cout << numm5 << "+1";
    else if(win1== 42.1)
        cout << numm6 << "+1";
    else if(win1== 42.0)
        cout << numm7 << "+1";
Но, думается мне, можно все намного проще сделать
1
5 / 5 / 1
Регистрация: 10.01.2014
Сообщений: 34
04.06.2014, 12:44  [ТС]
Да, эти проверки я могу сделать...но когда у меня будет win1, win2, win3, win4, win5, и т.д. то писать столько проверок будет плоховато
Да, и потому, когда у всех измениться рейтинг, проверки придеться тоже переписовать!
0
8 / 8 / 4
Регистрация: 23.04.2014
Сообщений: 59
04.06.2014, 12:45
Конечно. Проще структуру кода переписать. Более опытные товарищи подскажут
1
5 / 5 / 1
Регистрация: 10.01.2014
Сообщений: 34
04.06.2014, 12:47  [ТС]
надеюсь)
0
 Аватар для lawr
385 / 279 / 478
Регистрация: 09.05.2014
Сообщений: 769
04.06.2014, 13:17
ну если это приемлемо- я бы создал массив чисел и массив cтрок, вводимое число присвоил переменной и сравнивал ее с элементами массива. а вообще можно более детально описать задачу?
0
5 / 5 / 1
Регистрация: 10.01.2014
Сообщений: 34
04.06.2014, 13:27  [ТС]
Lawr, то что ты написал - все верно, но я не понимаю как создать массив, как сравнивать...можешь на примере моего кода, который я выложил выше написать что то похожее на решение этой задачи? Буду очень благодарен!
0
8 / 8 / 4
Регистрация: 23.04.2014
Сообщений: 59
04.06.2014, 13:43
Лучший ответ Сообщение было отмечено Andyshon как решение

Решение

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
#include <iostream>
using namespace std;
 
float results[3] = {43.5, 42.1, 42.0};
char* players[3] = {"Андрей", "Владимир", "Женя"};
float win1;
 
void getResults()
{
    for(int i = 0; i<3; i++)
    {
        if(win1 == results[i])
        {
            cout << "player " << players[i] << " won with " << results[i] << " result!" << endl;
        }
    }
}
 
main()
{
    float num9 = 40;
    float vkl1 = 10;
 
    cout << "Рейтинг игрока которого выиграли: " ;
    cin >> win1;
 
    if (num9-win1 >=20){
    win1 = vkl1;
    vkl1 = 0;
    getResults();
    }
    else if (num9-win1 <=2){
    win1 = vkl1;
    vkl1 = +2;
    getResults();
    }
    else if (num9-win1 >=2.1<20){
    win1 = vkl1;
    vkl1 = +1;
    getResults();
    }
}
(псевдокод). Смысл в том, что ты создаешь 2 массива с именами игроков и соотвествующими рейтингами во втором массиве. То есть 0 элемент 1 массива соответсвует 0 элементу второго массива. Затем проводишь проверку, как по заданию, например если результат равен 42.0 - то вывести соотвествующее имя победителя. Для этого вызывается функция getResults(), которая сканирует массив результатов, запоминает индекс подходящего элемента и выводит соответсвующее имя. Это лишь набросок, сам под себя код адаптируй
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2014, 13:43
Помогаю со студенческими работами здесь

Часть имени переменной как значние другой переменной
Нужно чтобы имя переменной состояло как бы из двух частей к примеру переменную x1 надо записать так чтобы число 1 было в другой...

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

Поиск одной переменной в другой
Есть 2 переменные. Предположим 1-я переменная &quot;34&quot; 2-я переменная &quot;34_Кирпич&quot;. Нужно сравнить их и если 1 переменная содержится во второй...

Передача значения переменной одной формы в описание переменной другой
Всем привет. Не могу найти решение проблемы. На первой форме имеется глобальная переменная kol, которая содержит в себе число. на второй...

Присвоение значения одной переменной значению другой переменной
Здравствуйте! При загрузке приложение считывает значения узлов в xml файле (например, IDa=&quot;IDa2&quot;, IDb=&quot;IDb1&quot;). ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru