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

Написать программу перевода целых и дробных чисел ... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запись в поля класса через вспомогательный класс. http://www.cyberforum.ru/cpp-beginners/thread128476.html
Сам класс:#pragma once #include <iostream> class User { private: char *_Surname; char *_Name; char *_SecondName; char *_TelephoneNumber; char *_Login;
C++ Функция... Заменить каждый элемент на среднее арифметическое его и его соседей слева и справа... вот я сделал через одномерный массив void main () {const n=5; float A; float B; int i; for (i=0;i<n;i++) {Cout<<"BBOD MACUBA"<<endl cin>>A;} http://www.cyberforum.ru/cpp-beginners/thread128464.html
Описать структуру студенты, содержащую информацию о студентах группы C++
Описать структуру студенты, содержащую информацию о студентах группы: фамилия, имя, отчество, год рождения, курс, форма обучения. Создать массив таких структур и заполнить его. По запросу пользователя вывести на экран всех студентов контрактной формы обучения. Фамилии впишите любые, мне главное сам вид программы;) Заранее спасибо.
Рекурсия. Заливка C++
Написать функцию заливки, используя закон 1 4 * 2 3 (единица и тройка над звёздочкой и под звёздочкой соответственно) Начальная точка – (100-9*10;100-9*10). Из теоретических сведений: Рассмотрим применение рекурсии на примере функции заливки замкнутой области. Опишем закон заливки как
C++ Обьясните прогграмму со структурами http://www.cyberforum.ru/cpp-beginners/thread128457.html
#include "stdafx.h" #include <stdio.h> #include <conio.h> #include <string.h> #include <iostream> #define a 1 using namespace std; /* Описание структуры, которая представляет монастырь */ struct mon {
C++ Файловые потоки. Подскажите, где ошибка Добрый день! Помогите разобраться, плиз: суть задачи в подсчете количества ненулевых элементов в заранее заготовленном файле. Вот что я написал: #include <iostream.h> #include <fstream.h> #include <conio.h> void main() { ifstream myf; подробнее

Показать сообщение отдельно
Tyoma
40 / 40 / 8
Регистрация: 12.05.2010
Сообщений: 106
Завершенные тесты: 3
12.05.2010, 15:36     Написать программу перевода целых и дробных чисел ...
Не знаю правильно ли я понял задание, но все же у меня вот такое получилось:

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
90
91
92
#include <iostream>
#include <string> 
using namespace std;
 
string getdrobn(string s)
{
    int k;
    for(int i = 0; i<s.length(); i++) {
        if(s[i] == '.' || s[i] == ',') {
            k = i;
            break;
        }
    }
    s.erase(0, k+1);
    return s;
}
string getcel(string s)
{
    int k;
    for(int i = 0; i<s.length(); i++) {
        if(s[i] == '.' || s[i] == ',') {
            k = i;
            break;
        }
    }
    s.erase(k, s.length()-k);
    return s;
}
 
char ntoa(int n)
{
    if ((n >= 0) && (n <= 9))
        return '0' + n;
    else
        return 'A' - 10 + n;
 
}
 
int aton(char a)
{
    if ((a >= '0') && (a <= '9'))
        return a - '0';
    else if ((a >= 'a') && (a <= 'z'))
        return a - 'a' + 10;
    else
        return a - 'A' + 10;
}
 
 
string conv(string s, int fs, int fd)
{
    int A = 0;
    for (unsigned int i = 0; i < s.length(); i++)
    {
        char a;
        a = aton(s[i]);
        if ((a >= 0) && (a <= fs))
            A = A * fs + a;
        else
            return "Number has uncorrect format";
    }
    string sd = "";
    while (A != 0)
    {
        sd = ntoa(A % fd) + sd;
        A /= fd;
    }
    return sd;
}
 
 
int main() {
    setlocale(LC_ALL, "Rus");
    int syst;
    bool drobn;
    cout << "Введите систему счисления: " << endl;
    cin >> syst;
    if((syst!=2) && (syst!=8) && (syst!=16))
        return -1;
    else
        cout << "Введите число: " << endl;
        string n;
        cin >> n;
    for(int i = 0; i<n.length(); i++) {
        if(n[i] == '.' || n[i] == ',') {
            drobn = true;
        }
    }
    if(drobn) cout << "Число " << n << " в 10 системе счисления " << conv(getcel(n), syst, 10) << "." << conv(getdrobn(n), syst, 10) << endl;
    else cout << "Число " << n << " в 10 системе счисления " << conv(n, syst, 10) << endl;
    return 0;
}
 
Текущее время: 01:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru