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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
djarmanimoney
Сообщений: n/a
#1

Найти и исправить ошибки в приведенном коде - C++

22.10.2012, 22:12. Просмотров 439. Ответов 5
Метки нет (Все метки)

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
77
78
79
80
81
82
83
84
85
86
87
88
//#include <stdafx.h>
#include <iostream>
#include <math.h>
 
using namespace std;
 
void main ()
{
    setlocale (LC_ALL, "Russian");
    system ("color 70");
    cout<<"Перевод из двоичной системы в десятичную и обратно\n";
    //Ввод числа
    cout<<"Введите число:\n";
    int chislo;
    cin>>chislo;
    int i = 0;
    int chisloT = chislo;
    int rest = 1;
    //Определение числа разрядов
    while (chisloT >= 1 && rest <= 1)
        {
            rest = chisloT % 10;
            chisloT = chisloT / 10;
            i = i + 1;
        }
    int two = 1;
    int sum = 0;
    int summ=1;
    int d=1;
    int n;
    //===========
 
 
    chisloT = chislo;
    if (rest>1) 
        {
            //Проверка на двоичность
            cout<<"Это не двоичная система!\n";
    
        }
    else
        {
            //Цикл выполняется, если число двоичное
            while (i > 0)
                {
                    rest = chisloT % 10;
                    chisloT = chisloT / 10;
                    sum = sum + rest * two;
                    two = two * 2;
                    i = i - 1;
                         }
                    
                    n=sum;
                    int n, b=1, f=0, c;
                    while (sum!=0) 
                    {
                        c=sum%2;
                        n=sum/2;
                        if(c==1)  
                        {
                        b=b*10+1; 
                        i++;
 
                        for(i--; i!=0; --i)     //идем по каждому разряду Б (пока они не закончатся)
                            {
                                d=d*10+b%10 ;  //переписываем в конец Д последнюю цифру Б
                                b/=10;       //удаляем последнюю цифру из Б
                            }
                        }
                        
                        else        
                        b=b*10+0;
                        
                    }
 
 
                                
        //Вывод результатов
        cout<<"\nПеревод чисел из двоичной в десятичную систему счисления: \n"
        <<"В двоичной сс: "<<chislo<<endl
        <<"В десятичной сс: "<<sum<<endl;
        
        cout<<"\nПеревод чисел из десятичной в двоичную систему счисления: \n"
        <<"В десятичной сс: "<<sum<<endl
        <<"В двоичной сс: "<<d<<endl;
        }
    system ("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2012, 22:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти и исправить ошибки в приведенном коде (C++):

Найти и исправить ошибки в приведенном коде, C++ - C++
Помогите пожалуйста найти и исправить ошибки в приведенном коде. Код переписывал с паскаля, есть ошибки и некоторые уязвимости никак не...

Найти и исправить ошибки в приведенном коде - C++
void Amount(int a = 2) { cout &lt;&lt; a + a; } void Amount(int a , int b =2) { cout &lt;&lt; a + b &lt;&lt; endl; } void main() ...

Найти и исправить ошибки в приведенном коде - C++
подскажите пожалуйста как исправить ошибки что не так #include &lt;stdio.h&gt; int main() { int m, n, count,count1,chislo,y; ...

Исправить ошибки в приведенном коде - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { int...

Задача о ранце. Исправить ошибки в приведенном коде - C++
Кароча, трабла с кодом в указанном месте. Дебаг мне не помог... Может кто-нибудь проверить почему прерывается? #include &lt;iostream&gt; ...

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
vxg
Модератор
3158 / 1960 / 219
Регистрация: 13.01.2012
Сообщений: 7,503
23.10.2012, 09:08 #2
а где ошибка то? ну хоть бы сказали. компилятор ругается? если ругается то какими словами и на какую строку. программа падает? если падает, то что кричит перед смертью и на какой строке падает если запускать в режиме отладки. или просто препод подошел и сказал "эээ тут что то не так..." ну тогда не знаю, прости, много букв.
Памирыч
Почетный модератор
20582 / 8634 / 1029
Регистрация: 11.04.2010
Сообщений: 11,009
23.10.2012, 09:17 #3
djarmanimoney, прочитайте Правила. Из них Вы поймете, что нельзя так создавать темы
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
23.10.2012, 10:42 #4
C++
1
 for(i--; i!=0; --i)
это жопище...
C++
1
cin>>chislo;
упадет, если будет что-то кроме числа
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.10.2012, 14:19 #5
Если записать так, то, вроде бы, работает:
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
77
78
79
80
81
82
83
84
85
86
87
88
89
//#include <stdafx.h>
#include <iostream>
#include <math.h>
 
using namespace std;
 
void main ()
{
    setlocale (LC_ALL, "Russian");
    system ("color 70");
    cout<<"Перевод из двоичной системы в десятичную и обратно\n";
    //Ввод числа
    cout<<"Введите число:\n";
    int chislo;
    cin>>chislo;
    int i = 0;
    int chisloT = chislo;
    int rest = 1;
    //Определение числа разрядов
    while (chisloT >= 1 && rest <= 1)
    {
        rest = chisloT % 10;
        chisloT = chisloT / 10;
        i = i + 1;
    }
    int two = 1;
    int sum = 0;
    int summ=1;
    int d=1;
    int n;
    //===========
 
 
    chisloT = chislo;
    if (rest>1) 
        {
            //Проверка на двоичность
            cout<<"Это не двоичная система!\n";
    
        }
    else
        {
            //Цикл выполняется, если число двоичное
        while (i > 0)
            {
                rest = chisloT % 10;
                chisloT = chisloT / 10;
                sum = sum + rest * two;
                two = two * 2;
                i = i - 1;
            }
                    
            n = sum;
            
    //        int n, b = 1, f = 0, c;
    //        while (sum != 0) // тут бесконечный цикл
    //        {
    //            
                //c = sum % 2;
    //            n = sum / 2;
    //            if(c == 1)  
    //            {
                //  cout << 'f';
                //  b = b * 10 + 1; 
                //  i++;
 
                //  for(i--; i != 0; --i)     //идем по каждому разряду Б (пока они не закончатся)
                //      {
                //          cout << 'w';
                //          d = d * 10 + b % 10 ;  //переписываем в конец Д последнюю цифру Б
                //          b /= 10;       //удаляем последнюю цифру из Б
                //      }
    //            }
    //            else  b = b * 10 + 0;     
    //        }
 
 
                                
        //Вывод результатов
        cout<<"\nПеревод чисел из двоичной в десятичную систему счисления: \n"
        <<"В двоичной сс: "<<chislo<<endl
        <<"В десятичной сс: "<<sum<<endl;
        
        cout<<"\nПеревод чисел из десятичной в двоичную систему счисления: \n"
        <<"В десятичной сс: "<<sum<<endl
        <<"В двоичной сс: "<<chislo<<endl;
        }
    system ("pause");
}
Что делает закоментированный мною цикл?
Миниатюры
Найти и исправить ошибки в приведенном коде  
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
23.10.2012, 16:23 #6
C++
1
b=b*10+0
не совсем понял зачем здесь 0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2012, 16:23
Привет! Вот еще темы с ответами:

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private: int* a; size_t size_; ...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

Найти и исправить ошибки в коде - C++
поиогите исправить ошибки #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; ...

Найти и исправить ошибки в коде - C++
Помогите, пожалуйста=) Задание: Используя класс, который преобразует дюймы в мм, создайте: функцию извлечения, предлагающую...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.10.2012, 16:23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru