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

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

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

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

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

1. Дано число N (задаётся пользователем). Занесите в массив простые множители данного числа.
2. Найти максимальный элемент среди минимальных элементов строк матрицы. Вывести номер строки и столбца для такого элемента.
3. Дана строка, содержащая целые числа, отделённые друг от друга произвольными символами, отличными от цифр. Найти сумму этих чисел.
4. Дан текстовый файл. Напишите программу, которая определяет, сколько раз встречается в файле введенное пользователем слово.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2010, 15:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Занесите в массив простые множители числа (C++):

Разложить числа на простые множители - C++
Здравствуйте, всем. Помогите пожалуйста может кто знает. Как в C++ разложить числа на простые множители. Составить программу, которая...

Найти простые множители у данного числа - C++
Программа должна искать простые множители у числа, которое водит пользователь, но она всегда выдаёт 0, помогите пожалуйста. #include...

Разложение натурального числа на простые множители - C++
Выведите разложение натурального числа n > 1 на простые множители. Простые множители должны быть упорядочены по возрастанию и разделены...

Разложение на простые множители заданного натурального числа - C++
Составить программу , печатающую разложение на простые мн0жители заданн0го натУральн0го числа n > 0 (другими словами требуется печатать...

Разложение числа на простые множители (упрощенная). Зацикливание? - C++
Добрый вечер. Написал небольшой код для разложения небольших чисел на простые цифры. По умолчанию число, которое подается на ввод, делится...

Напишите функцию разложения натурального числа на простые множители. - C++
Напишите функцию разложения натурального числа на простые множители.

19
yanyk1n
4330 / 1461 / 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;
}
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 и именно из таких чисел нужно составить массив, исправь пожалуйста свой код, спасибо заранее)
0
Genius Ignat
1236 / 774 / 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;
}
1
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)'
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
08.05.2010, 19:27 #6
Извиняй мой компилятор молчит, и говорит что все Ok.
0
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
08.05.2010, 19:43  [ТС] #7
а не знаешь что это за ошибки?
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
08.05.2010, 20:10 #8
По правилам все допустимо.
Не знаю что там у тебя за компил: попробуй удалить: строку 6 и 7.
0
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
08.05.2010, 20:33  [ТС] #9
попробовал-нифига, у меня вот в этой строке чета не нравица ему: Point m_points[H];
0
yanyk1n
4330 / 1461 / 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. А из них и получаются различные делители числа.
0
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)'

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

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

Добавлено через 27 секунд
Я то думал, что его компилятор хочет
0
Lord_Voodoo
Супер-модератор
8594 / 2209 / 61
Регистрация: 07.03.2007
Сообщений: 10,967
Завершенные тесты: 1
09.05.2010, 14:44 #14
Genius Ignat, ну если компилятор ругается, что не может определить, что за класс, вот и просит уточнений... или я не прав?
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.05.2010, 15:09 #15
Lord_Voodoo:
Вероятно у Visual Сpp и Builder Cpp разные философии.
0
09.05.2010, 15:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2010, 15:09
Привет! Вот еще темы с ответами:

Разложить число на простые множители через массив - C++
разложить сложное число на простые множители, через массив.

Выведите все простые множители числа в порядке возрастания с учетом кратности - C++
Дано натуральное число n&gt;1. Выведите все простые множители этого числа в порядке возрастания с учетом кратности. Ввод 18 Вывод 2 3...

Описать функцию, находящую разложение заданного натурального числа на простые множители - C++
Помогите написать программу, пожалуйста Описать функцию factors(a, n, F), находящую разложение натурального числа a на простые множители....

Выведите все простые множители числа в порядке возрастания с учетом кратности. - C++
Дано натуральное число n&gt;1. Выведите все простые множители этого числа в порядке возрастания с учетом кратности.


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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