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

Заполнение лидирующими нолями при неравном размере строк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать n-арное дерево в виде класса http://www.cyberforum.ru/cpp-beginners/thread276316.html
Помогите решить задачу. Нужно реализовать дерево в виде класса. Так же в классе нужно написать методы(функции) поиск елемента по индексу, добавления нового елемента к существующему по введенному индексу. Что-то никак неполучается реализовать функции добавления и поиска елементов. Вот что-то я написал но ничего никак не работает. #include <iostream> #include <stdio.h> #include <stdlib.h>...
C++ Абстрактные классы, наследование Задание: Написать базовый абстрактный класс «фигура» (с чистыми виртуальными функциями: нарисовать, передвинуть, повернуть) и два класса наследника окружность и квадрат, с различной реализацией этих функций. В основной программе создать массив указателей базового класса на объекты классов наследников. Передвинуть все объекты на одинаковое расстояние. Помогите плиз, кто чем может=) ... http://www.cyberforum.ru/cpp-beginners/thread276311.html
C++ Подбросьте ответы упражнений из книги Кернигана и Ритчи
Уважаемые гуру, скинте п-та ссылочку на ответы упражнений из книги "Язык программирования С" Кернигана и Ричи. с меня ++ Купил книгу, хороша но вот то что нет ответов это жирный "-".
C++ учебники
Доброго времени суток, уважаемые программисты. Посоветуйте пожалуйста учебники для c++ что бы за пол года освоить и выйти хотяб на республиканскую олимпиаду. Желательно по матрицам(типо города, найти кратчайший путь, и т.п.)
C++ Как рассчитать невязку в программе?? http://www.cyberforum.ru/cpp-beginners/thread276295.html
#include <iostream.h> #include <math.h> #include <conio.h> int sign(double x) { if (x < 0) return -1; else return 1; } void main()
C++ Определить, какая цифра находится в заданной позиции в последовательности степеней десятки Ограничение времени: 1.0 секунды Ограничение памяти: 16 МБ Представим себе бесконечную последовательность цифр, составленную из записанных друг за другом возрастающих степеней десятки. Вот начало этой последовательности: 110100100010000… Всё, что надо — определить, какая цифра находится в такой последовательности на определённом месте. Исходные данные В первой строке находится целое число N... подробнее

Показать сообщение отдельно
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
14.04.2011, 15:11
Вот, писал когда-то.

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
/*Входной файл INPUT.TXT в первой строке содержит числа A и B, разделенные пробелом. (1 <= A <= 9, 1 <= B <= 104)
В выходной файл OUTPUT.TXT выведите одно число – результат возведения в степень, без лидирующих нулей.*/
 
#include <iostream>
#include <fstream>
#include <vector>
#include <iomanip>
#define BASE 100000000
#define LEN 8
 
void power (std::vector <int> &, const int);
 
int main()
{
    std::ifstream ifs ("INPUT.TXT");
    std::ofstream ofs ("OUTPUT.TXT");
 
    std::vector <int> num;
    int var, pow;
 
    std::cin >> var >> pow;
    num.push_back (var);
 
    for (int i=0; i<pow-1; i++)
        power (num, var);
 
    std::cout << num.back ();
    for (int i = num.size () - 2; i >= 0; i--)
        std::cout << std::setfill ('0') << std::setw (LEN) << num[i];
 
    ifs.close ();
    ofs.close ();
    return 0;
}
 
void power (std::vector <int> &vec, const int var)
{
    long carry = 0;
    for (int i = 0; i < vec.size () || carry; i++)
    {
        if (i == vec.size ()) vec.push_back (0);
        carry += vec[i] * var;
        vec[i] = carry % BASE;
        carry /= BASE;
    }
}
Программа реализована с помощью вектора, но с массивом суть та же.
Дополнение нулями и вывод реализуется с помощью манипуляторов в строках 27-29.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru