Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
1

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

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

Author24 — интернет-сервис помощи студентам
1. Дано число N (задаётся пользователем). Занесите в массив простые множители данного числа.
2. Найти максимальный элемент среди минимальных элементов строк матрицы. Вывести номер строки и столбца для такого элемента.
3. Дана строка, содержащая целые числа, отделённые друг от друга произвольными символами, отличными от цифр. Найти сумму этих чисел.
4. Дан текстовый файл. Напишите программу, которая определяет, сколько раз встречается в файле введенное пользователем слово.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2010, 15:17
Ответы с готовыми решениями:

Проверить верно ли, что в разложении числа на простые множители все множители различны
2. 1. Дано натуральное число n. Проверить верно ли, что в разложении этого числа на простые...

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

Разложение числа на простые множители
Дано натуральное число n ≥ 2. Составить программу разложения этого числа на простые множители:...

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

19
4342 / 1474 / 680
Регистрация: 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
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
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
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
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
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
08.05.2010, 19:27 6
Извиняй мой компилятор молчит, и говорит что все Ok.
0
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
08.05.2010, 19:43  [ТС] 7
а не знаешь что это за ошибки?
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
08.05.2010, 20:10 8
По правилам все допустимо.
Не знаю что там у тебя за компил: попробуй удалить: строку 6 и 7.
0
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
08.05.2010, 20:33  [ТС] 9
попробовал-нифига, у меня вот в этой строке чета не нравица ему: Point m_points[H];
0
4342 / 1474 / 680
Регистрация: 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
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
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
09.05.2010, 10:17 12
KennyMccormick, ну так если просит билдер так и сделай: замени Point на Classes::Point...
1
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
09.05.2010, 11:27 13
Lord_Voodoo:
Первый раз вижу подобное пожелание компилятора.

Добавлено через 27 секунд
Я то думал, что его компилятор хочет
0
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
09.05.2010, 14:44 14
Genius Ignat, ну если компилятор ругается, что не может определить, что за класс, вот и просит уточнений... или я не прав?
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
09.05.2010, 15:09 15
Lord_Voodoo:
Вероятно у Visual Сpp и Builder Cpp разные философии.
0
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
09.05.2010, 15:11 16
Genius Ignat, слушайте, скажите мне, где я нахомутал, а то я вас никак не пойму, а уже идиотом себя ощущаю... ну иногда на автомате называю компилятор билдером... но у билдера же свой вроде компилятор, то не такая цж и страшная оговорка, да и людям понятнее
0
Ignat
09.05.2010, 16:56
  #17

Не по теме:

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

0
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
10.05.2010, 10:30  [ТС] 18
Lord_Voodoo, в какой именно строке произвести замену???
0
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
10.05.2010, 21:46 19
KennyMccormick, а ты консольное предложение создавал без поддержки vcl? вообще проще всего переименовать свою структуру ну хотя бы на TMyPoint... странно почему это идет такой конфликт классов
0
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
11.05.2010, 12:07  [ТС] 20
поставил другой билдер и все стало норм, спасибо всем
0
11.05.2010, 12:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2010, 12:07
Помогаю со студенческими работами здесь

Разложение натурального числа на простые множители
Выведите разложение натурального числа n &gt; 1 на простые множители. Простые множители должны быть...

Разложение на простые множители заданного натурального числа
Составить программу , печатающую разложение на простые мн0жители заданн0го натУральн0го числа n &gt; 0...

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru