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

Проверка делимости 1,11,111,.,11.1 на их позиции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Visual studio 2013 не запускает откомпилированный .exe файл http://www.cyberforum.ru/cpp-beginners/thread1496379.html
Начал изучать с++. По началу все работало нормально, но сейчас столкнулся с проблемой - "Локальный отладчик Windows" отказывается запускать любю программу. Выдает ошибку : Не удвется запустить программу (имя файла .exe) Отказано в доступе На сколько я понимаю, это проблема кроется в каких-то настройках компилятора. Но вот где именно? Из проводника файл запускается, а вот из VS нет.
C++ Можно ли выделять память под объект класса с помощью функций calloc, malloc или realloc? Интересует данный вопрос. Можно ли и имеет ли вобще смысл например выделять память под объект класса с помощью функций calloc, malloc или realloc ? http://www.cyberforum.ru/cpp-beginners/thread1496356.html
C++ Считывание символов до пробела и после
Здравствуйте. Считываю цифры с помощью функции gets_s(например 3 11). Подскажите как сделать,чтобы цифы до пробелы приравнялись допустим char z;(цифра 3), а после пробела присвоилась char b;(цифра 11)/???
Турист ( найти ошибку ). Вариант задачи о рюкзаке C++
Всем привет, решал задачу, но всё-таки где-то допустил ошибку, подскажите где. Спасибо. Гена собирается на туристический слет учеников своей школы. В своем классе он был назначен ответственным за палатки. У себя дома он нашел 3 палатки: первая из них весит a1 килограмм и вмещает b1 человек, вторая весит a2 килограмм и вмещает b2 человек, третья весит a3 килограмм и вмещает b3 человек. В...
C++ HLA/OpenRTI http://www.cyberforum.ru/cpp-beginners/thread1496330.html
Народ, даже не знаю, туда ли пишу. Может кто работал с сабжем? Отзовитесь! Заранее спасибо.
C++ Нерекурсивная быстрая сортировка со стеком Вообщем написал программу, сортирует если не больше 42 элементов(( Объясните пожалуйста почему так. #include "stdafx.h" #include "iostream" #include <stack> using namespace std; void sort(int a, int n) { int mid, left, right, l, r; подробнее

Показать сообщение отдельно
Абубакр
0 / 0 / 0
Регистрация: 08.07.2015
Сообщений: 9
09.07.2015, 22:17     Проверка делимости 1,11,111,.,11.1 на их позиции
Дана последовательность из чисел (последовательность из единиц): 1, 11, 111, ..., 11..1. (до N)
Требуется определить делимость числа на его порядковый номер и записать в массив 0 или 1.
Я написал решение, но с проблемами.
Вот мой код:
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
#include <iostream>
#include <string>
#include <stdlib.h>
#include <sstream>
 
using namespace std;
 
template <typename T>
string toStr(T val){
    ostringstream oss;
    oss<< val;
    return oss.str();
}
 
int main()
{
//-----------------ВВОД ВЫВОД ПОСЛЕДОВАТЕЛЬНОСТЕЙ------------------
    int i,j,N;
    cout<<"Vvedite N:";
    cin>>N;
    cout<<endl;
 
    string *a=new string[N];
    int *is_div = new int[N];
 
    a[0]="1";
    for(i=1;i<N;++i)
        for(j=0;j<=i;++j)
            a[i]+='1';
    for(i=0;i<N;++i)
        cout<<a[i]<<endl;
//--------АЛГОРИТМ ДЕЛЕНИЯ--------------------------
    string x;
    int dlina_a,x_ch,ost,result_ost;
 
    for(i=0;i<N;++i){
//N_a - Номер числа, kolpos_N - Кол.-во цифр в числе, dlina_a - длина числа
            int N_a=i+1,N1=N_a,kolpos_N=0,dlina_a=N_a;
 
            while(N1>0){
                N1=N1/10;
                kolpos_N++;
            }
        while(dlina_a>0){
            x=a[i].substr(0,kolpos_N);
                dlina_a-=kolpos_N;
                    a[i]=a[i].erase(0,kolpos_N);
            x_ch = atoi(x.c_str());
            if(x_ch<N_a){
                x+=a[i].substr(0,1);
                a[i]=a[i].erase(0,1);
                dlina_a-=1;
            }
            ost = x_ch%N_a;
            if(ost==0 && dlina_a>0)
                continue;
            else if(ost!=0 && dlina_a>0)
                a[i]=toStr(ost)+a[i];
            else
                result_ost=ost;
        }
        if(result_ost)
            is_div[i]=1;
        else
            is_div[i]=0;
    }
    for(int k=0;k<N;++k)
        cout<<is_div[k]<<"\n";
    return 0;
}
В массив is_div должны сохраняться ответы 0-"нет" или 1-"да".
У меня выводит, что 1%1=0, 11%2=1, 111%3=1 - ошибка. т.е. после первого цикла в is_div сохраняются только единицы. Помогите решить задачу.
Вот что у меня получается:
Миниатюры
Проверка делимости 1,11,111,.,11.1 на их позиции  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru