Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ввод знака пробела https://www.cyberforum.ru/ cpp-beginners/ thread418533.html
Привет всем! Как можно реализовать ввод строки с пробелами? Нужно для задания адреса файла где могут попадаться названия папок с пробелами (Programm Files например).
C++ класс, моделирующий многочлены n – го порядка
Разработайте класс, моделирующий многочлены n – го порядка от одной переменной. В классе должен быть конструктор копирования и оператор присваивания. Перегрузите оператор ~ для вычисления первой...
C++ C++ | Генератор ключей https://www.cyberforum.ru/ cpp-beginners/ thread418523.html
Возможно ли сделать генератор ключей на основе самих ключей(ну чтобы использовать реальные ключи для создания подобных)?
C++ В четных строках матрицы заменить все отрицательные элементы на ноль в четных строках матрицы заменить все отрицательные элементы на ноль: исходный массив А 6 строк 4 столбцов преобразование массива А в массив В: b=(sqrt(i)-sqrt(j))/a https://www.cyberforum.ru/ cpp-beginners/ thread418520.html
C++ Изменить программу так, чтобы исходные данные вводились не из файла, а с клавиатуры
Нужно сделать чтоб исходные данные задавались не с файла, а пользователь вводил с клавиатуры!! Может кто может помочь!!!??? #include <iostream.h> #include <fstream.h> #include<conio.h> main(int...
C++ Определить сколько раз данное слово встречается в тексте https://www.cyberforum.ru/ cpp-beginners/ thread418513.html
У меня небольшая просьба 1)обьясните зачем нужен #define _CRT_SECURE_NO_DEPRECATE 2)помогите закончить код что мне нужно добавить? Задание Вывести на экран самое длинное слово и определяет,...
C++ Строки в с++ https://www.cyberforum.ru/ cpp-beginners/ thread418511.html
19. В строке удалить символ «двоеточие» ( : ) и подсчитать количество удаленных символов. программа к сожалению вылетает мб изобрёл велосипед но команд каких надо не нашёл(таких как в делфи)...
Курсовой проект на тему:Оценка производительности системы C++
Оценка производительности системы при выполнении целочисленных операций. Сравнение результатов в зависимости от того, находятся ли операнды в памяти или в регистрах.
C++ Курсовой проект на тему: Исследование многопроцессорной системы. https://www.cyberforum.ru/ cpp-beginners/ thread418501.html
10. Исследование многопроцессорной системы. Исследуемая система включает в себя N процессоров и N блоков памяти (N=4). Каждый процессор выполняет программу, не зависящую от программ, выполняемых на...
C++ friend ostream &operator<<(ostream &stream, MyClass o); Что означает данная строчка которую обычно пишут в конце класса? friend ostream &operator<<(ostream &stream, MyClass o); https://www.cyberforum.ru/ cpp-beginners/ thread418484.html
Где в программе перегрузка операторов? C++
Подскажите где в этой программе перегрузка операторов и для чего она вообще нужна? //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop...
C++ Максимальный из отрицательных элементов Помогите, пожалуйста, исправить функию MaxNegative, которая находит максимальный из отрицательных элементов, так, что бы при вводе всех положительных элементов работала следующая программа :gsmile:... https://www.cyberforum.ru/ cpp-beginners/ thread418474.html
115 / 115 / 39
Регистрация: 11.10.2011
Сообщений: 649
28.12.2011, 20:13 0

Найти два наибольших простых числа в матрице - C++ - Ответ 2339287

28.12.2011, 20:13. Показов 2109. Ответов 3
Метки (Все метки)

Ответ

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
//Задана матрица целых чисел A(m,n). Найти два наибольших простых числа. 
//Первое простое число заменить минимальным элементом матрицы, второе - максимальным элементом матрицы.
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <cmath>
using namespace std;
 
int main ()
 
{
    srand(time(NULL));
    
    int i, j, k;
    int m, n;
    int** a;
 
    cout << "Vvedite kilichestvo strok m = ";
    cin >> m;
    cout << "Vvedite kolichestvo stolbzov n = ";
    cin >> n;
 
    cout << "\nMatriza razmerom " << m << "x" << n << "\n\n";
 
    a = new int* [m];
    for (i = 0; i < m; ++i)
    {
        a[i] = new int[n];
        for (j = 0; j < n; ++j)
        {
            a[i][j] = rand()%101-50; //Заполнение массива целыми числами в диапазоне от -50 до 50
            cout << a[i][j] << "\t";
        }
        cout <<"\n";
    }
 
    //Поиск простых чисел в массиве
    int count = 0;
    int size = 0;
    
    for (i = 0; i < m; ++i)
    {
        for (j = 0; j < n; ++j)
        {
            if (a[i][j]>1)
            {
                for (k = 2; k <= a[i][j]; ++k)
                {
                    if(a[i][j]%k == 0)
                    {
                        ++count;
                    }
                }
                if(count==1)
                {
                    ++size;
                }
            }
            count = 0;
        }
    }
    
    if(size < 2)
    {
        cout << "\nV massive nedostatochno prostyh chisel\n\n";
    }
    else
    {
        
        //Вынесение всех простых чисел из исходного массива в отдельный массив
        
        int* prime;
        prime = new int[size];
        
        count = 0;
        int p = 0;
 
        for (i = 0; i < m; ++i)
        {
            for (j = 0; j < n; ++j)
            {
                if (a[i][j]>1)
                {
                    for (k = 2; k <= a[i][j]; ++k)
                    {
                        if(a[i][j]%k == 0)
                        {
                            ++count;
                        }
                    }
                    if(count==1)
                    {
                        prime[p] = a[i][j];
                        p++;
                    }
                }
                count = 0;
            }
        }
 
        cout << "\nProsrye chisla: ";
        for (p = 0; p < size; ++p)
        {
            cout << prime [p] << " ";
        }
        
        //Поиск двух наибольших простых чисел
        int first_number = prime[0];
        int second_number = prime[0];
                    
        for (p = 0; p < size; ++p)
        {
            if(first_number < prime [p])
            {
                first_number = prime [p];
            }
        }
 
        for (p = 1; p < size; ++p)
        {
            if(second_number == first_number)
            {
                second_number = prime [p];
            }
        }
        
        for (p = 0; p < size; ++p)
        {
            if ((second_number < prime [p]) && (prime [p] != first_number))
            {
                second_number = prime [p];
            }
        }
 
        cout << "\n\nfirst_number = " << first_number;
        cout << "\nsecond_number = " << second_number;
 
        //Поиск минимального и максимального элементов исходно матрицы
        int min = a[0][0];
        int max = a[0][0];
        
        for (i = 0; i < m; ++i)
        {
            for (j = 0; j < n; ++j)
            {
                if(min > a[i][j])
                {
                    min = a[i][j];
                }
                if(max < a[i][j])
                {
                    max = a[i][j];
                }
            }
        }
 
        cout << "\n\nmin = " << min;
        cout << "\nmax = " << max;
 
        //Замена первого простого числа минимальным элементом матрицы, второго - максимальным элементом матрицы.
        cout << "\n\nMatriza posle obrabotki\n\n";
        for (i = 0; i < m; ++i)
        {
            for (j = 0; j < n; ++j)
            {
                if(a[i][j] == first_number)
                {
                    a[i][j] = min;
                }
                
                if(a[i][j] == second_number)
                {
                    a[i][j] = max;
                }
                cout << a[i][j] << "\t";
            }
            cout <<"\n";
        }
 
        cout <<"\n";
 
        delete[] prime;
    }
    
    for(i = 0; i < m; ++i)
    delete[] a[i];
    delete[] a;
 
 
    return 0;
}


Вернуться к обсуждению:
Найти два наибольших простых числа в матрице C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2011, 20:13
Готовые ответы и решения:

Есть ли в матрице столбец, содержащий хотя бы два взаимно простых числа?
Есть ли в матрице столбец, содержащий хотя бы два взаимно простых числа? С двумерным массивом

Определить, есть ли в матрице столбец, содержащий хотя бы два взаимно простых числа
//Åñòü ëè â ìàòðèöå ñòîëáåö, ñîäåðæàùèé õîòÿ áû äâà âçàèìíî ïðîñòûõ ÷èñëà? uses crt; const n=4;...

Оператор for,if ( найти два наибольших числа)
Подскажите пожайлуста....начал самостоятельно изучать С++, в основном по Дейтелу Х.М. но и...

Найти два наибольших числа из десяти
С одним числом написал, а вот чтобы найти два числа ума не хватает. Нужно использовать только одну...

3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2011, 20:13
Помогаю со студенческими работами здесь

Найти два наибольших числа в последовательности
1)Дана последовательность из М чисел. Найти в ней два наибольших числа.

Найти два наибольших числа из четырёх используя if
Составить программу нахождения двух наибольших из четырёх чисел и вывести их в порядке...

Ввести N чисел с клавиатуры. Найти два наибольших числа
Здравствуйте. Я не давно начал работать с C#, мне попалась задачка и у меня возникли с ней...

Найти два наибольших числа, а третьи вывести на экран?
Найти два наибольших числа а третьи вывести на экран ? using System; using...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru