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

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

Войти
Регистрация
Восстановить пароль
 
Genn55
360 / 207 / 39
Регистрация: 26.12.2012
Сообщений: 694
#1

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

25.07.2014, 01:23. Просмотров 172. Ответов 0
Метки нет (Все метки)

Доброго всем времени суток!Пожалуйста помогите сформировать вектор.

Дана правильная несократимая дробь нужно получить последовательность число цифр которой равно знаменателю,а сумма этих цифр -числителю.Напечатать в виде 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     Получить последовательность число цифр которой равно знаменателю, а сумма этих цифр -числителю
Посмотрите здесь:

Из 8 различных цифр составить число, делящееся на любую из этих цифр - C++
Необходимо из 8 различных цифр составить число, делящееся на любую из этих цифр. Добавлено через 9 минут Не понимаю как сделать цикл...

Вводится две строки, состоящие из цифр; из этих цифр составить максимальное число - C++
Доброго времени суток! Нужно написать программу, где на экране вводится две строки состоящие из цифр, Из этих цифр составить максимальное...

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

Дано натурально число n. Сколько цифр в этом числе. Чему равняется сумма цифр. Найти первую цифру - C++
Желательно в С

Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу - C++
Требуется помощь.. Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому...

Дано двузначное натуральное число m. Получить все двузначные натуральные числа, сумма квадратов цифр которых р - C++
Дано двузначное натуральное число m. Получить все двузначные натуральные числа, сумма квадратов цифр которых равна m (например, если m=13,...

Даны целое число k (1<=k<=150) и последовательность цифр 101102103.149150, в которой выписаны подряд все трехзначные числа от 101 до 150 - C++
Даны целое число k (1&lt;=k&lt;=150) и последовательность цифр 101102103..149150, в которой выписаны подряд все трехзначные числа от 101 до 150....

Функция: получить шестизначное число и проверить, равна ли сумма первых трех цифр сумме последних трех - C++
Написать функцию, которая принимает целое шестизначное число и проверяет равна ли сумма первых трех цифр сумме последних трех...

Найти трехзначные числа, сумма квадратов этих цифр равняется самому числу. - C++
Найти трехзначные числа, сумма квадратов этих цифр равняется самому числу.

дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти количество чётных цифр в записи числа!! - C++
дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти количество чётных цифр в записи числа!!...


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

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

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