0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
1

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

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

Author24 — интернет-сервис помощи студентам
Даны натуральные числа 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2010, 11:44
Ответы с готовыми решениями:

Правильный вывод. Алгоритм Прима
Здравствуйте есть код, нужно изменить вывод. #include&lt;conio.h&gt; #include&lt;iostream&gt; using...

Какой правильный вызов у функции getline()?
FILE *db; char file = &quot;Quiz.csv&quot;; string str; db = fopen(file, &quot;r&quot;); getline(db, str, &quot;/n&quot;);...

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

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

5
365 / 366 / 167
Регистрация: 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
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
30.10.2010, 12:54  [ТС] 3
Большое спасибо=счас буду разбираться)
0
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
30.10.2010, 13:11  [ТС] 4
Спасибо Работает
Только ещё один ВАЖНЫЙ вопрос:
А Вообще=можно ли написать алгоритм только с одним массивом mass, а не с двумя массивами?

Помогите ещё с этим=если это вообще возможно=у меня просто условие такое=что работа должна быть с одним массивом...
0
365 / 366 / 167
Регистрация: 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
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 28
30.10.2010, 13:29  [ТС] 6
КАК элегантно получилось))) Огромное спасибо за помощь!
0
30.10.2010, 13:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2010, 13:29
Помогаю со студенческими работами здесь

Алгоритм решения задачи
Помогите пожалуйста сделать алгоритм по коду, из блоков и стрелочек Вот код: //Библиотека...

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

Написать алгоритм решения
Написать алгоритм решения y = \sum_{n=0}^{20}\frac{{(2x)}^{n}}{n+1}

Составить алгоритм решения задачи
В отчете предоставить три программы с разными операторами цикла ( do... while, while, for). В...


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

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

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