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

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

Войти
Регистрация
Восстановить пароль
 
 
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
#1

Занесите в массив простые множители числа - C++

08.05.2010, 15:17. Просмотров 1026. Ответов 19
Метки нет (Все метки)

1. Дано число N (задаётся пользователем). Занесите в массив простые множители данного числа.
2. Найти максимальный элемент среди минимальных элементов строк матрицы. Вывести номер строки и столбца для такого элемента.
3. Дана строка, содержащая целые числа, отделённые друг от друга произвольными символами, отличными от цифр. Найти сумму этих чисел.
4. Дан текстовый файл. Напишите программу, которая определяет, сколько раз встречается в файле введенное пользователем слово.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2010, 15:17     Занесите в массив простые множители числа
Посмотрите здесь:
C++ Разложить числа на простые множители
Разложение натурального числа на простые множители C++
C++ Найти простые множители у данного числа
Разложение на простые множители заданного натурального числа C++
Разложение числа на простые множители (упрощенная). Зацикливание? C++
C++ Напишите функцию разложения натурального числа на простые множители.
C++ Разложить число на простые множители через массив
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yanyk1n
4329 / 1460 / 152
Регистрация: 12.03.2009
Сообщений: 5,310
08.05.2010, 16:07     Занесите в массив простые множители числа #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
using namespace std;
 
int main()
{
    int N;
    cout << "Введите N -> ";
    cin >> N;
    int p[1000];
    int s[1000];
    int k = 0;
    int t = 2;
    while (N != 1)
    {
        if (!(N % t))
        {
            s[k] = 1;
            p[k] = t;
            N /= t;
            while (!(N % t))
            {
                s[k]++;
                N /= t;
            }
            k++;
        }
        t++;   
    }
    for (int i = 0 ; i < k; i++)
    {
        if (i == k-1 && s[i] > 1)
        {
            cout << p[i] << "^" << s[i];
        } else if (i == k-1 && s[i] == 1)
        {
            cout << p[i];  
        } else if (s[i] > 1)
        {
            cout << p[i] << "^" << s[i] << "*";
        } else if (s[i] == 1)
        {
            cout << p[i] << "*";  
        }
    }
    cout << endl;
    return 0;
}
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
08.05.2010, 16:28  [ТС]     Занесите в массив простые множители числа #3
k1ry4, простые множители данного числа-это, я так понимаю, числа, на которые данное число делится без остатка,например 48 делится на 2, 3, 4, 6,8,12,16,24,48 и именно из таких чисел нужно составить массив, исправь пожалуйста свой код, спасибо заранее)
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
08.05.2010, 16:29     Занесите в массив простые множители числа #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
45
46
47
48
#include <iostream>
using namespace std;
struct Point {
int x;
int y;
Point(): x(0),y(0){}
Point(int v_1, int v_2): x(v_1),y(v_2){}
};
 
int main(){
const int H = 5;
const int W = 5;
Point m_points[H];
int matrix[H][W] = {
            {1,-5,3,4,5},
    {6,7,-6,9,10},
    {11,12,1-9,14,15},
    {16,17,1,19,20},
    {30,30,10,25,26}
};
 
for( int i = 0 ; i < H ; i++ ){
   int min = matrix[i][0];
   m_points[i].x = i;
   m_points[i].y = 0;
for( int j = 0 ; j < W ; j++)
           if(matrix[i][j]<min){
           min = matrix[i][j];
                            m_points[i].x = i;
           m_points[i].y = j;
           }
 
}
 
//Ищем максимальный среди минимальных.
int max = matrix[m_points[0].x][m_points[0].y];
Point pmax;
for( int p = 0 ; p < H ; p++ )  
    if(matrix [m_points[p].x][m_points[p].y]>max){
    max=matrix[m_points[p].x][m_points[p].y];
            pmax.x = m_points[p].x;
    pmax.y = m_points[p].y;
}
 
cout<<"Максимальный среди минимальных элементов строк: "<<matrix[pmax.x][pmax.y]<<endl;; 
cout<<"Координаты маскимального среди минимальных элементов строк: "<<'['<<pmax.x<<']'<<'['<<pmax.y<<']'<<endl;
return 0;
}
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
08.05.2010, 19:24  [ТС]     Занесите в массив простые множители числа #5
[C++ Error] Unit1.cpp(21): E2015 Ambiguity between 'Point' and '_fastcall Classes::Point(int,int)'
[C++ Error] Unit1.cpp(45): E2015 Ambiguity between 'Point' and '_fastcall Classes::Point(int,int)'
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
08.05.2010, 19:27     Занесите в массив простые множители числа #6
Извиняй мой компилятор молчит, и говорит что все Ok.
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
08.05.2010, 19:43  [ТС]     Занесите в массив простые множители числа #7
а не знаешь что это за ошибки?
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
08.05.2010, 20:10     Занесите в массив простые множители числа #8
По правилам все допустимо.
Не знаю что там у тебя за компил: попробуй удалить: строку 6 и 7.
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
08.05.2010, 20:33  [ТС]     Занесите в массив простые множители числа #9
попробовал-нифига, у меня вот в этой строке чета не нравица ему: Point m_points[H];
yanyk1n
4329 / 1460 / 152
Регистрация: 12.03.2009
Сообщений: 5,310
08.05.2010, 21:17     Занесите в массив простые множители числа #10
Цитата Сообщение от KennyMccormick Посмотреть сообщение
k1ry4, простые множители данного числа-это, я так понимаю, числа, на которые данное число делится без остатка,например 48 делится на 2, 3, 4, 6,8,12,16,24,48 и именно из таких чисел нужно составить массив, исправь пожалуйста свой код, спасибо заранее)
Значит, не понимаете. Вы знаете, что такое по сути простое число? 2 3 5 7 11... Т. е. такое число больше единицы, которое делится только на себя и на 1. А из них и получаются различные делители числа.
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
09.05.2010, 09:59  [ТС]     Занесите в массив простые множители числа #11
извини, кирыч, что усомнился в тебе))))

Добавлено через 12 минут
кто нибудь посмотрите, почему у меня во втором коде выдает ошибку в строке Point m_points[H];
ошибка следущая:[C++ Error] Unit1.cpp(22): E2015 Ambiguity between 'Point' and '_fastcall Classes::Point(int,int)'
[C++ Error] Unit1.cpp(46): E2015 Ambiguity between 'Point' and '_fastcall Classes::Point(int,int)'

может какую нить библиотек подключить или че нить такое?

посмотрите еще третюю задачу)
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
09.05.2010, 10:17     Занесите в массив простые множители числа #12
KennyMccormick, ну так если просит билдер так и сделай: замени Point на Classes::Point...
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.05.2010, 11:27     Занесите в массив простые множители числа #13
Lord_Voodoo:
Первый раз вижу подобное пожелание компилятора.

Добавлено через 27 секунд
Я то думал, что его компилятор хочет
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
09.05.2010, 14:44     Занесите в массив простые множители числа #14
Genius Ignat, ну если компилятор ругается, что не может определить, что за класс, вот и просит уточнений... или я не прав?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2010, 15:09     Занесите в массив простые множители числа
Еще ссылки по теме:
C++ Выведите все простые множители числа в порядке возрастания с учетом кратности
C++ Описать функцию, находящую разложение заданного натурального числа на простые множители
Выведите все простые множители числа в порядке возрастания с учетом кратности. C++
Выведите все простые множители этого числа в порядке неубывания с учетом кратности (рекурсия) C++
Дано натуральное число n>1. Выведите все простые множители этого числа в порядке возрастания с учетом кратности. C++

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

Или воспользуйтесь поиском по форуму:
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.05.2010, 15:09     Занесите в массив простые множители числа #15
Lord_Voodoo:
Вероятно у Visual Сpp и Builder Cpp разные философии.
Yandex
Объявления
09.05.2010, 15:09     Занесите в массив простые множители числа
Ответ Создать тему
Опции темы

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