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

Как дорешать задачу? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Четырехугольники http://www.cyberforum.ru/cpp-beginners/thread545286.html
Четырехугольник ABCD задан координатами своих вершин на плоскости: A(Xa,Ya),B(Xb,Yb),C(Xc,Yc) , D(Xd,Yd). Определить тип четырехугольника: прямоугольник, параллелограм, трапеция, произвольный четырехугольник. Помогите пожалуйста решить задачу.
C++ Задача на графы. Удалить ребра так, чтобы степень любой вершины была равна 3 или 0 Здравствуйте. Условие задачи, собственно, в названии темы. Возникли проблемы с алгоритмом, не говоря уже про код. Ограничений на входной граф и алгоритм нет. Буду благодарен за помощь:) http://www.cyberforum.ru/cpp-beginners/thread545282.html
Значения флагов-манипуляторов управления вводом/выводом. C++
Почему отличаются значения флагов-манипуляторов управления вводом/выводом, которые нахожу в инете, от тех значений, которые применяются в VC++ 2010? В описаниях: skipws 0x0001 left 0x0002 right 0x0004 internal 0x0008 dec 0x0010 oct 0x0020 hex 0x0040
Метод простой вставки [C++] C++
Помогите решить задачу. Дан массив записей, состоящий из фамилии, возраста, стажа и оклада. Определить троих самых высокооплачиваемых (до 30 лет) сотрудников
C++ Метод простого выбора[C++] http://www.cyberforum.ru/cpp-beginners/thread545268.html
Помогите с задачей. Дан ряд, состоящий из n элементов. Отсортировать его в порядке убывания, отбрасывая в процессе сортировки повторяющиеся элементы. Как сделать сортировку я знаю, а вот как отбросить повторяющиеся элементы- нет
C++ Метод простого обмена [C++] Помогите решить задачу В прямоугольной матрице в строках, упорядоченных по возрастанию, поменять местами минимальный и максимальный элементы, другие строки отсортировать по убыванию подробнее

Показать сообщение отдельно
Mcray
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 36
11.04.2012, 17:02     Как дорешать задачу?
«Найди серединку»
Вводятся натуральные числа - А и В (А<В), которые не превышают 100000000. Найти число Х – середину ряда, состоящего из всех цифр из чисел от А до В записанных подряд, для этого нужно: записать подряд все числа от А до В (включительно), найти в полученном ряду цифру или число из двух цифр (это зависит от четности или нечетности количества цифр в ряду), стоящие ровно посредине ряда. (Пример: для А=98, В=103, в ряду от 98 до 103 будет записано 16 цифр, средними (8-й и 9-й) цифрами будут 10 ).
Ввод: число К.
Вывод: ответ.
Пример:
Ввод: 98

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

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
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
#include <tchar.h>
#include <math.h>
#include <windows.h>
#include <iostream.h>
//---------------------------------------------------------------------------
 
int Raz(int Chislo2){//колличество цифр в числе
int k=0;
        while(Chislo2!=0){
            Chislo2=Chislo2/10;
            k++;
        }
return k;
}
int Kol(int Chislo){//количество цифр до введённого
 
 int kol=0;
 int Chislo1=Chislo;
 int k = Raz(Chislo1);
 
 int s = 1;
 for(int i=1;i<k;i++)
 {
   kol+=9*s*i;
   s*=10;
 }
 Chislo1 = Chislo-s+1;
 kol+=Chislo1*k;
    // 9899100101102103104
     //9+89*2 = 187
     //9+90*2+3*4 = 201
     //100101102103
 return kol;
}
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
SetConsoleOutputCP(1251);
int a,b,SearchChislo;
cin>>a;
cin>>b;
    if(a==b || a>b){
        cout<<"Не правильный ввод (Долно быть a,b>0; a<b; a!=b)!!!\n";
    }else{
int rez = (Kol(b)-Kol(a))+Raz(a);
        int S = Raz(a);
        for(long i = a;i<b;i++){
            S = S + Raz(i);             \
            if(S>=rez/2){                | 
             SearchChislo = i+1;       | поиск нужного числа.
             break; }                     /
        }
            if(rez%2 == 0){
        cout<<"чётное\n";
        cout<<"Search = "<<SearchChislo<<endl;
        cout<<"S = "<<S<<endl;
    }else{
        cout<<"не чётное\n";
        cout<<"Search = "<<SearchChislo<<endl;
        cout<<"S = "<<S<<endl;
    }
cout<<rez<<endl;
cout<<Kol(a)<<endl;
cout<<Kol(b)<<endl;
}
    system("pause");
    return 0;
}
//---------------------------------------------------------------------------
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru