Форум программистов, компьютерный форум CyberForum.ru

помогите понять (генератор чисел) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задачка по С++ http://www.cyberforum.ru/cpp-beginners/thread400734.html
Программа вычисления стоимости покупки с учетом скидки.Скидка предоставляется, если сумма>1000(5%), более 5000(?%), а так же дополнит скидка 3%- в выходные дни. Информация о том является ли день выходным, программа должна получать на основе анализа текущей даты... c = StrToFloat(Edit1->Text); if (c > 1000) c = c * 5/100; else if (c>5000) c = c * 7/100; Label2->Caption="скидка...
C++ Нужна упращенная модель разделения текста по указательным символам Доброго времени суток. Нужна упращенная модель разделения текста (массива) по указательным символам, допустим у нас имеется комманда #run%text.txt - где # указатель что следующий символ что будет командой, и % конец команды начало параметра команды. можно это сделать с помощью цикла и обработчика bool Cycle = true; int x; while(Cycle) { if(buff=='#') Так приблизительно... но есть... http://www.cyberforum.ru/cpp-beginners/thread400732.html
Сформировать массив из элементов исходного массива, располагающихся по возрастанию C++
например из массива (3 2 4 5 1 3 7 3 4 9 2) должен получиться массив (3 4 5 7 9) т.е. из возрастающих элементов. не могу понять как делать=( Добавлено через 10 минут если можно то на языке начинающих))) за ранее спс:)
С++ структура даных очередь C++
привет всем, помогите плиз з кодом С++ , необходимо написать программу на основе абстрактного типа даных очереди. В магазине стоит очередь из m покупателей. Время обслуживания покупателя из очереди - это случайное целое число в диапазоне от 1 до t1. При добавлении нового покупателя в очередь - это случайное целое число в диапазоне от 1 до t2. Промоделировать состояние очереди: а) вывести...
C++ Модули/двоичная система счисления http://www.cyberforum.ru/cpp-beginners/thread400705.html
Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над натуральными числами в двоичной системе счисления: сложения; вычитания; умножения; деления; перевода из двоичной системы счисления в десятичную; функций, реализующих операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).
C++ написать 2 программы на С++ Описать рекурсивную функцию Root(X, K, N) вещественного типа, находящую приближенное значение корня K-ой степени из числа X по формуле: Y(0)=1 y(n+1)=y(n)-(y(n)-x/(y(n))^k-1)/k Параметры функции – X>0 – вещественное число; K>1, N>0 – целые числа. Найти приближенное значение корня K-ой степени из числа X с использованием цикла. подробнее

Показать сообщение отдельно
Nuckelavee
Сообщений: n/a
06.12.2011, 23:06     помогите понять (генератор чисел)
помогите, пожалуйста, разобраться:
С++ начал изучать буквально неделю назад, решил применить все полученные на данный момент знания на практике и написал программку, которая сама загадывает себе число от 0 до 100 и сама же его отгадывает в зависимости от сообщений "заданное число больше/меньше вашего". Вроде работает, угадывает (делал и вариант когда сам вводил число для угадывания), однако часто проскакивают ошибки типа - подставляет число, пишет что оно больше/меньше загадоного, сужает рамки поиска, а потом подставляет то же самое число и оно оказывается правильным.
вот код:
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <stdio.h>
#include <stdlib.h>             //для exit(1) || doid exit(int exitstatus) 1 - выход
#include <conio.h>              //для getch()
#include <ctime>                //библиотека с генератором чисел
#include <windows.h>            //для Sleep()
using namespace std;
void menshe(int &UN, int &min, int &max);
void bolshe(int &UN, int &min, int &max);
void gotcha(int &UN);
int generator(int &UN);
int raschet(int &UN, int &min, int &max);
int CompNumber;
int main()
{
    int UN;
    int min = 0;
    int max = 100;
    srand( time(NULL)|clock());         //генератор случайных чисел!
    CompNumber = rand()%100;    //переменная - случайное число от 0 до 100 || (rand()%(max - min + 1) + min)
    //cout<<"Enter a number from 0 to 100:";
    //cin>>CompNumber;
    generator(UN);
    raschet(UN, min, max);
    return 0;
}
 
void menshe(int &rUN, int &rmin, int &rmax)
{
    cout<<rUN<<"\nToo small!"<<endl;
    Sleep(100);
    rUN =  rand()%(rmax - rmin + 1) + rmin;
    raschet(rUN, rmin, rmax);
    //return rUN;
}
void bolshe(int &rUN, int &rmin, int &rmax)
{
    cout<<rUN<<"\nToo big!"<<endl;
    Sleep(100);
    rUN = rand()%(rmax - rmin + 1) + rmin;
    raschet(rUN, rmin, rmax);
    //return rUN;
}
void gotcha(int &rUN)
{
    cout<<rUN<<"\nGotcha!!"<<endl;
    getch();
    exit(1);
 
}
int generator(int &rUN)
{
    rUN = rand()%100;
    return rUN;
}
int raschet(int &rUN, int &rmin, int &rmax)
{   
              cout<<"Enter a number: ";
            if (rUN < CompNumber)
            {
                rmin = ++rUN;
                //rmax = rmax;
                menshe(rUN, rmin, rmax);
            }
            if (rUN > CompNumber)
            {
                 //rmin = rmin;
                 rmax = --rUN;
                bolshe(rUN, rmin, rmax);
            }
            if (rUN == CompNumber)
            {
                gotcha(rUN);
            }             
return rUN;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru