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

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

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

Какой правильный алгоритм решения?:) - C++

30.10.2010, 11:44. Просмотров 436. Ответов 5
Метки нет (Все метки)

Даны натуральные числа n и a(1), a(2), ... a(n) .. Найти максимальное простое число.
Всем доброго дня
Помогите пожалуйста с алгоритмом программы=работает неверно=просто выводит максимальное число из массива и всё Надо=чтобы учитывала=есть ли вообще в массиве простые числа по функции prime,
а потом выводила как результат максимальное из простых чисел...
Помогите пожалуйста

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
#include <iostream>
using namespace std;
bool prime(int a)
{
    bool flag=true;
    for(int i=2; i<=a/2; ++i)
    {
         if(a%i==0)
         {
             flag=false;
             break;
         }
     }
     return true;
}
int main()
{
    int n;
    cout<<"insert n: ";
    cin>>n;
    int*mass=new int[n];
    int SSize=0;
    for(int i=0; i<n; ++i)
    {
        cin>>mass[i];
    }
    for(int i=0; i<n; ++i)
    {
        if(prime(mass[i]))
        SSize++;
    }
    if(SSize==0)
    {
         cerr<<"There is no prime numbers";
         return 0;
    }
    for(int i=0, j=0; i<n; ++i)
    {
         if(prime(mass[i]))
         {
             mass[j]=mass[i];
             ++j;
         }
     }
     int Max=mass[0];
     for(int i=0; i<SSize; ++i)
     {
         if(mass[i]>Max)
             Max=mass[i];
     }
     cout<<"max from prime number is: "<< Max <<'\n';
     delete[] mass;
     return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2010, 11:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какой правильный алгоритм решения?:) (C++):

Правильный вывод. Алгоритм Прима - C++
Здравствуйте есть код, нужно изменить вывод. #include&lt;conio.h&gt; #include&lt;iostream&gt; using namespace std; int a,b,u,v,n,i,j,ne=1; ...

Какой тип данных правильный при определении времени выполнения? - C++
Народ, какой тип данных привильный. При прирывании счетчик повышает значение на 1(левая колонка), в правой микросекунды. Отрывок кода ...

Алгоритм решения задачи - C++
Помогите пожалуйста сделать алгоритм по коду, из блоков и стрелочек Вот код: //Библиотека контейнера #include&lt;list&gt; //Библиотека...

Маска, алгоритм решения - C++
Условия таковы: на вход программы подается маска, некий фильтр, далее за ней идут строки с какими то словами/именами файлов, необходимо по...

Алгоритм решения задачи - C++
Есть вот такая вот задача . На дороге в некоторых местах разбросаны золотые монеты. Для каждой монеты известно ее местоположение, которое...

Составить алгоритм решения уравнения |a+5x|/(b-x)=2c - C++
Пожалуйста помогите составить алгоритм решения уравнения |a+5x|/(b-x)=2c буду очень благодарен.

5
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
30.10.2010, 12:47 #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
#include <iostream>
 
using namespace std;
 
bool prime(int a)
{
    bool flag=true;
    if(a<=1) flag=false;
    else for(int i=2;i<=a/2;i++) if(a%i==0) { flag=false; break; }
    return flag;
}
 
int main()
{
    int i,n,max,size=0;
    bool r=false;
    cout<<"  n=";
    cin>>n;
    int* mass=new int [n];
    int* pr=new int [n];
    cout<<"  Enter elements: ";
    for(i=0;i<n;i++) 
    { 
        cin>>mass[i]; 
        if(prime(mass[i])) { r=true; pr[size]=mass[i]; size++; }
    }
    if(r==false) cout<<"\n\n  There is no prime numbers"<<endl;
    else 
    {
        max=pr[0];
        for(i=1;i<size;i++) if(pr[i]>max) max=pr[i];     
        cout<<"\n\n  max from prime number is: "<<max<<endl;
    }
    delete [] mass;
    delete [] pr;
    system("pause");
    return 0;
}
1
andr1981
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
30.10.2010, 12:54  [ТС] #3
Большое спасибо=счас буду разбираться)
0
andr1981
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
30.10.2010, 13:11  [ТС] #4
Спасибо Работает
Только ещё один ВАЖНЫЙ вопрос:
А Вообще=можно ли написать алгоритм только с одним массивом mass, а не с двумя массивами?

Помогите ещё с этим=если это вообще возможно=у меня просто условие такое=что работа должна быть с одним массивом...
0
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
30.10.2010, 13:24 #5
Цитата Сообщение от andr1981 Посмотреть сообщение
Спасибо Работает
Только ещё один ВАЖНЫЙ вопрос:
А Вообще=можно ли написать алгоритм только с одним массивом mass, а не с двумя массивами?
Помогите ещё с этим=если это вообще возможно=у меня просто условие такое=что работа должна быть с одним массивом...
Все что пожелаете:
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
#include <iostream>
 
using namespace std;
 
bool prime(int a)
{
    bool flag=true;
    if(a<=1) flag=false;
    else for(int i=2;i<=a/2;i++) if(a%i==0) { flag=false; break; }
    return flag;
}
 
int main()
{
    int i,n,max,size=0;
    bool r=false;
    cout<<"  n=";
    cin>>n;
    int* mass=new int [n];
    cout<<"  Enter elements: ";
    for(i=0;i<n;i++) 
    { 
        cin>>mass[i]; 
        if(prime(mass[i])) { r=true; mass[size]=mass[i]; size++; }
    }
    if(r==false) cout<<"\n\n  There is no prime numbers"<<endl;
    else 
    {
        max=mass[0];
        for(i=1;i<size;i++) if(mass[i]>max) max=mass[i];     
        cout<<"\n\n  max from prime number is: "<<max<<endl;
    }
    delete [] mass;
    system("pause");
    return 0;
}
1
andr1981
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
30.10.2010, 13:29  [ТС] #6
КАК элегантно получилось))) Огромное спасибо за помощь!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2010, 13:29
Привет! Вот еще темы с ответами:

Алгоритм решения олимпиадной задачи - C++
clip2net . com/clip/m121445/1353341115-clip-71kb.jpg Дело в том, что я не знаю, как лучше считать данные. То есть прочитать всю строку, а...

Алгоритм решения рекурсивных функций - C++
Цель: Прошу подсказать алгоритм решения рекурсивной функции. Задача:

предложите свой алгоритм решения - C++
Множество попарно различных плоскостей в трехмерном пространстве задано перечислением троек точек, через которые проходит каждая из...

Разработать алгоритм и программу решения в C++ - C++
1-задача) уравнения: Ax + B = 0 2-задача) системы уравнений: - A1*x + B1*y = C1 {- -A2*x + B2*y = C2


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
30.10.2010, 13:29
Ответ Создать тему
Опции темы

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