0 / 0 / 3
Регистрация: 19.09.2017
Сообщений: 32
1

Неправильный вывод: появляются нули, которых не должно быть

08.06.2018, 11:16. Показов 1254. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
.Программа переводит из 10-ого числа в 16-ую строку и обратно в 10-ое число

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
#include <iostream>
#include <stdio.h>
using namespace std;
char b []={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int a []={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
float vchislo(char symvols[])
{ 
     float vivod = 0.0;
     float mnozh = 0.0625;
     int p=2;
     if (symvols[0]=='0'){return vivod;}
     while ((symvols[p]!=0)&&(p<=13))
     {
        int q=0;
        p++;
        for (int i=0;i<=15;i++)
        {
            if (symvols[p]==b[i])
            {
                q=i;
             }
         }
         vivod = vivod + q*mnozh;
         mnozh = mnozh * 0.0625;
     }
     if (symvols[0]=='-'){vivod=-vivod;}
     return vivod;
}
char* vstroky (float chislo)
{
    int q=2;
    char *stroka = new char[8];
    if (chislo<0){chislo=-chislo;stroka[0]='-';}
    else {stroka[0]='+';};
    stroka[1]='0';
    stroka[2]=',';
    if(chislo==0){stroka[3]='0';stroka[0]=' ';}
    while ((q<=12)&&(chislo!=0)) 
        { 
            q++; 
            int p; 
            int ves=16; 
            p=chislo*ves; 
            stroka[q]=b[p]; 
            chislo=ves*chislo-p; 
        //  ves=ves/10;
        }
    return stroka;
    delete stroka;
}
 
int main()
{
    float chislo[]={0.0,+0.2121,0.545546,+0.2312,+0.324,+0.243,-0.324,};
    setlocale(LC_ALL,"Russian");
    cout.width(20);
    cout<<"ВХОДНОЕ Число";
    cout.width(20);
    cout<<"СТРОКА";
    cout.width(20);
    cout<<"ЧИСЛО "<<endl;
    for (int i=0;i<13;i++)
    {
        cout.width(20);
        cout<<chislo[i];
        cout.width(20);
        cout<<vstroky(chislo[i]);
        cout.width(20);
        cout<<vchislo(vstroky(chislo[i]))<<endl;
    }
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2018, 11:16
Ответы с готовыми решениями:

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

Как должна быть организована сеть офиса? Что должно быть настроено обязательно, а чего быть не должно?
Добрый день. Сразу оговорюсь, что я инженер-строитель и настройкой сети занимаюсь только потому,...

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

Вывод значений из базы, появляются левые нули
В базу из формы на php вводятся несколько значений типа float и int, например 3600, 49 а...

1
7528 / 6393 / 2914
Регистрация: 14.04.2014
Сообщений: 27,852
08.06.2018, 13:34 2
Размер массива для начала согласуй с количеством итераций.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.06.2018, 13:34
Помогаю со студенческими работами здесь

В таблице последнее значение 2 столбцов по условию должно быть равно 0, как сделать так, чтобы отображались нули
При построении таблицы последнее значение 2 столбцов по условию должно быть равно 0, как сделать...

Создать массив размерностью которых должно быть количество строк и столбцов по данным из файла
Добрый вечер, переделываю программу с С++ на C# и возникли трудности с массивами может ли кто то...

Коллеги,в программе должно считать выделенные элементы. Считает программа неправильно(должно быть 69.Подскажитегдеошибка
#include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;windows.h&gt; const int...

Неправильный вывод. Преобразовать массив: сначала расположить элементы, модуль которых не больше 1
Основное условие: В одномерном массиве, состоящем из n-вещественных элементов. вычислить: 1) номер...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru