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

Получить последовательность число цифр которой равно знаменателю, а сумма этих цифр -числителю - C++

Войти
Регистрация
Восстановить пароль
 
Genn55
342 / 189 / 37
Регистрация: 26.12.2012
Сообщений: 661
25.07.2014, 01:23     Получить последовательность число цифр которой равно знаменателю, а сумма этих цифр -числителю #1
Доброго всем времени суток!Пожалуйста помогите сформировать вектор.

Дана правильная несократимая дробь нужно получить последовательность число цифр которой равно знаменателю,а сумма этих цифр -числителю.Напечатать в виде 1.1.2.1.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
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <stdlib.h>
#include <vector>
#include <algorithm>
#include <iterator>
#include <iomanip>
 
using namespace std;
 
int main()
{
 
    vector<int> Myvec;
    int ch,zn;
    int num = 1;//может быть любым
    cout << " Enter ch/ zn  ch < zn"<<"\n";
    cin >>ch>>zn;
    ch = zn * num + ch;
    int N = ch * zn;
//заполняем таблицу с шагом zn и записываем в вектор
    for (int i=0; i < N +3; i++)
     (i == 0)|| (i % zn == 0) ? Myvec.push_back(1) : Myvec.push_back(0);
    vector<int>::iterator jt  = Myvec.begin();
 //вычисляем число периодов и число 1 в каждом периоде
    for (int i = ch; i <=N; i += ch)
    {
        num = 0;
        while (jt != (Myvec.begin()+i))
            {
              num += *jt;
              ++jt;
            }
    Myvec.push_back(num);//записываем 1 период
    }
    Myvec.erase(Myvec.begin(),Myvec.end()- zn);//удаляем лишние элементы
    cout << " My vector "<<"\n\n";
        for (vector<int>::const_iterator it = Myvec.begin(); it != Myvec.end(); ++it)
    if (it < Myvec.end()-1)
       cout  <<*it<<".";
    else
       cout <<*it<<";   ";
 
return 0;
}
Он работает и дает верный результат,но далеко не лучший.Сокращение и пр. я опустил для сокращения кода.С вектором только начал разбираться.Кому не трудно подскажите как лучше сделать.С11++ у меня не поддерживается.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2014, 01:23     Получить последовательность число цифр которой равно знаменателю, а сумма этих цифр -числителю
Посмотрите здесь:

C++ Вводится две строки, состоящие из цифр; из этих цифр составить максимальное число
Сформировать последовательность, каждый элемент которой равен сумме цифр исходной последовательности C++
Сформировать последовательность, каждый элемент которой равен сумме цифр исходной последовательности C++
Дано целое число k и последовательность цифр, в которой выписаны подряд все двузначные числа. Определить k-ю цифру C++
C++ Найти все простые числа, имеющие возрастающую последовательность цифр, сумма которых равна M
4.130. Даны целое число K (1<k<252) и последовательность цифр 505151.9899100101.149150, в которой выписаны подряд все нату¬ральные числа от 50 до C++
C++ Даны целое число k (1<=k<=150) и последовательность цифр 101102103.149150, в которой выписаны подряд все трехзначные числа от 101 до 150
Найти трехзначные числа, сумма квадратов этих цифр равняется самому числу. C++
C++ Получить последовательность десятичных цифр числа
Из 8 различных цифр составить число, делящееся на любую из этих цифр C++
C++ Функция: получить шестизначное число и проверить, равна ли сумма первых трех цифр сумме последних трех
Найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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