Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C] Составить массив из всех делителей данного


Автор: Бывает 19.9.2006, 20:07
Я в программировании нуль, мне задали вот это написать "Составить массив из всех делителей данного натурального числа"
Объясните плиз, как сделать, а то я не понимаю никапли...

Автор: vinter 19.9.2006, 20:59
Код

#include <iostream>
using namespace std;
int main()
{  
    int *pDeliteli;
    int nNumber, nCounter = 0;
    cout << "Please enter the number:" << endl;
    cin >> nNumber;
    for(int i = 1; i <= nNumber; i++)
    {
        if(nNumber % i == 0)
            nCounter++;
    }
    pDeliteli = new int[nCounter];
    nCounter = 0;
    for(int i = 1; i <= nNumber; i++)
    {
        if(nNumber % i == 0)
        {
            *(pDeliteli + nCounter) = i;
            nCounter++;
        }
    }
    cout << "All deliteli of this number:" << endl;
    for(int i = 0; i < nCounter ; i++)
       cout << *(pDeliteli + i) << endl;
    system("pause");
    return 1;
}



Добавлено @ 21:12 
вариант на С
Код

#include <stdio.h>
#include <conio.h>
#include <malloc.h>
int main()
{  
    int *pDeliteli;
    int nNumber, nCounter = 0;
    printf( "Please enter the number:\n" );
    scanf("%d", &nNumber);
    for(int i = 1; i <= nNumber; i++)
    {
        if(nNumber % i == 0)
            nCounter++;
    }
    pDeliteli = (int*)malloc(sizeof(int)*nCounter);
    nCounter = 0;
    for(int i = 1; i <= nNumber; i++)
    {
        if(nNumber % i == 0)
        {
            *(pDeliteli + nCounter) = i;
            nCounter++;
        }
    }
    printf( "All deliteli of this number:\n");
    for(int i = 0; i < nCounter ; i++)
       printf("%d\n", *(pDeliteli + i));
    getch();
    return 1;
}



Автор: MAKCim 19.9.2006, 21:16
Код

template<class Int, class Vector>
    void work(Int number, Vector& vec)
{
    Int num=1;
    while (num<=number)
        if (!(number%num)) vec.push_back(num), ++num; 
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)