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

Замкнутые области в шестнадцатеричных числах - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ программа выдает только черный экран http://www.cyberforum.ru/cpp-beginners/thread761669.html
программа по идее должна реализовать функцию обмена местами для переменных типа int, double, float, int* , но в результате работы выводит только черный экран. Подскажите, пожалуйста, что нужно сделать, чтобы выводились результаты работы?) #include <iostream> using namespace std; void change(int&,int&); void change(double&,double&); void change(float&,float&); void change(int*,int*); ...
C++ Как получить переменные из файла начиная со второй В файле INPUT.TXT есть переменные: 1 2 3 4 5 Как с помощью ifstream in("INPUT.TXT"); in >> http://www.cyberforum.ru/cpp-beginners/thread761667.html
C++ Идентичность двух матриц
Здравствуйте, у меня задание написать 2 матрици. Я написал для матриц которые :возвращала true если элементы матрица образует семетрию по вертикали ,в противном случае false. А теперь мне задание теже самые матрици передать так чтоб :возвращала true если элементы матрица абразует идентичность ,в противном случае false. Я так понял что место symmetric надо писать is_identity Я изменял...
C++ Составить файл, содержащий инвертированные строки заданного файла
Задача: Составить файл, содержащий инвертированные строки заданного файла. План действий: 1) Открыть файл для чтения + 2) Считать первую строку из файла - 3) определить длину считываемой строки + 4) Составить цикл, в котором будет инвертироваться строка + 5) проделать с каждой строкой файла ...
C++ Объясните, для чего нужны некоторые строчки в коде(using namespace, new, int main) http://www.cyberforum.ru/cpp-beginners/thread761608.html
#include <iostream> using namespace std; //для чего эта строчка int main(void) // что нужно изменить чтобы было void main() { unsigned count; unsigned result(1); unsigned number_m; bool contains = false; cout<<"Count of numbers : "; cin>>count;
C++ Код, написанный на Borland C++ не работает в Dev C++ программа на Си++ пользуюсь DEV-CPP Не могу разобраться почему не работает программа. Если у кого есть время помогите пожалуйста. задание: нарисовать змею ползущую в горку . вот код подробнее

Показать сообщение отдельно
AKruglyak
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 24
14.01.2013, 19:17     Замкнутые области в шестнадцатеричных числах
Имеется задача.
Рассмотрим последовательность чисел от 10000000 до 4FFFFFFF включительно. Для каждой шестнадцатеричной цифры числа определим количество замкнутых областей в ней. Так, цифры 0 или 9 имеют одну замкнутую область, а цифры 8 или B–две замкнутых области. Посчитаем общее количество замкнутых областей числа. Выбросим из последовательности числа, в которых более 6 замкнутых областей. В полученной последовательности числа занумеруем, начиная с 1.
Найдите остаток от деления на 10001 суммы произведений всех чисел последовательности на номер числа в последовательности.
Реализовал её с помощью нескольких программ. Первая выписывает все числа в шестнадцатеричном виде в данном диапазоне. Вторая отбирает подходящие по условию. Третья считает результат.
1)
C++
1
2
3
4
5
6
7
8
9
#include <fstream>
using namespace std;
fstream cin("8in.txt");
ofstream cout("8out.txt");
int main(){
    for(int i=268435456;i<=1342177279;i++){
        cout<<hex<<i<<' ';
    }
}
2)
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
#include <fstream>
#include <string>
using namespace std;
fstream cin("8out.txt");
ofstream cout("8.1.out.txt");
 
bool check(string m){
    int count=0;
    for(int i=0;i<m.size();i++){
        if(m[i]=='0' or m[i]=='4' or m[i]=='6' 
        or m[i]=='9' or m[i]=='a' or m[i]=='d')
            count++;
        if(m[i]=='8' or m[i]=='b')
            count+=2;
    }
    
    if(count<=6)
        return true;
    else 
        return false;
}
int main(){
    string s;
    long long n=0;
    for(int i=0;i<1073741823;i++){
        cin>>s;
        if(check(s)){
            n++;
            cout<<s<<' ';
            }
    }
    
}
3)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <fstream>
using namespace std;
fstream cin("8.1.out.txt");
ofstream cout("8.2.out.txt");
int main(){
    long long ans=0;
 
    for(int i=1;i<=1073741823;i++){
        int m;
        cin>>hex>>m;
        ans+=(i*m)%10001;
    }
    cout<<ans%10001;
    
}
Все работает. Но у меня есть несколько весомых сомнений. Во-первых, во второй программе я вставлял счетчик, чтобы он выдал сколько всего таких чисел. Так вот он говорит, что 1073741823, но это число всех чисел в данном диапазоне. Однако, вес файла с итогом первой и второй программы разнится в 9 раз. Во-вторых, не уверен, что правильно реализовал 3 программу. Укажите на мои ошибки, пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru