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

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

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

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

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

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

C++ Разложить числа на простые множители
C++ Напишите функцию разложения натурального числа на простые множители.
C++ Разложить число на простые множители через массив
Разложение числа на простые множители (упрощенная). Зацикливание? C++
Дано натуральное число n>1. Выведите все простые множители этого числа в порядке возрастания с учетом кратности. C++
Выведите все простые множители числа в порядке возрастания с учетом кратности. C++
C++ Выведите все простые множители числа в порядке возрастания с учетом кратности
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yanyk1n
4326 / 1457 / 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
4326 / 1457 / 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
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 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
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
09.05.2010, 14:44     Занесите в массив простые множители числа #14
Genius Ignat, ну если компилятор ругается, что не может определить, что за класс, вот и просит уточнений... или я не прав?
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.05.2010, 15:09     Занесите в массив простые множители числа #15
Lord_Voodoo:
Вероятно у Visual Сpp и Builder Cpp разные философии.
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
09.05.2010, 15:11     Занесите в массив простые множители числа #16
Genius Ignat, слушайте, скажите мне, где я нахомутал, а то я вас никак не пойму, а уже идиотом себя ощущаю... ну иногда на автомате называю компилятор билдером... но у билдера же свой вроде компилятор, то не такая цж и страшная оговорка, да и людям понятнее
Genius Ignat
09.05.2010, 16:56
  #17

Не по теме:

Просто я работаю в Visual C++ ни каких претензий к моему коду компилятор не имеет.
Все больше не буду оффтопить.

KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
10.05.2010, 10:30  [ТС]     Занесите в массив простые множители числа #18
Lord_Voodoo, в какой именно строке произвести замену???
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
10.05.2010, 21:46     Занесите в массив простые множители числа #19
KennyMccormick, а ты консольное предложение создавал без поддержки vcl? вообще проще всего переименовать свою структуру ну хотя бы на TMyPoint... странно почему это идет такой конфликт классов
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2010, 12:07     Занесите в массив простые множители числа
Еще ссылки по теме:

Выведите все простые множители этого числа в порядке неубывания с учетом кратности (рекурсия) C++
C++ Найти простые множители у данного числа
Разложение натурального числа на простые множители C++
C++ Разложение на простые множители*
C++ Описать функцию, находящую разложение заданного натурального числа на простые множители

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

Или воспользуйтесь поиском по форуму:
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
11.05.2010, 12:07  [ТС]     Занесите в массив простые множители числа #20
поставил другой билдер и все стало норм, спасибо всем
Yandex
Объявления
11.05.2010, 12:07     Занесите в массив простые множители числа
Ответ Создать тему
Опции темы

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