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

Упорядочить массив целых положительных чисел по возрастанию, определить номер минимального простого числа - C++

Восстановить пароль Регистрация
 
grom73
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 19
09.04.2014, 19:16     Упорядочить массив целых положительных чисел по возрастанию, определить номер минимального простого числа #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
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
#include <iostream>
#include <time.h>
#include<stdlib.h>
#include <iomanip>
 
 bool IsSimple(int);//прототип функции поиска простого числа
 void printArray(int[], int); //прототип функции для вывода массива на печать
 void sortArray (int[],int);//прототип функции сортировки
 
using namespace std;
 
int main()
{
 const int n = 30;
 int A[n];
 
 cout<<"Vash massiv "<<"\n\n";
 srand(time(NULL));//для правильной работы рандома
 
 for (int i=0;i<n;i++)
     A[i]=1+rand()%30;//заполняем случайными числами до 30
     printArray (A,n);
 
 int min=A[0],pos = 0;
 
 for (int i=0;i<n;i++)
       if (( min > A[i])&& (IsSimple(A[i])))
          {
            min = A[i];
            pos = i +1;
          }
      cout <<"  Pos= "<<pos<<"\n";
      sortArray (A,n);
      cout<<"Vash massiv  sorted "<<"\n\n";//вывод массива
      printArray (A,n);
      pos = 0;
 for (int i=0;i<n;i++)
       if (( min > A[i])&& (IsSimple(A[i])))
          {
            min = A[i];
            pos = i +1;
          }
 
      cout <<"  Pos= "<<pos<<"\n";
 
 
return 0;
}
bool IsSimple(int n)//функция поиска простого числа
{
    for (int i = 2; i < n; i++)//четные уже не простые числа
        if ((n % i) == 0)//если делится тоже не простое
            return false;
    return true;//иначе меняем флаг
}
void printArray(int Arr[], int size) //печать массива
{
    for (int i = 0; i < size; i++)
       cout << setw(3) << Arr[i];
       cout <<"\n\n";
}
void sortArray (int Arr[],int size)//функция сортировки
{
    for (int j = 1; j < size; j++)
    for (int k = 0; k < size - 1; k++)
       if (Arr[k] > Arr[k + 1])
          {
            int temp = Arr[k];
            Arr[k] = Arr[k + 1];
            Arr[k + 1] = temp;
          }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2014, 19:16     Упорядочить массив целых положительных чисел по возрастанию, определить номер минимального простого числа
Посмотрите здесь:

C++ В последовательности целых положительных чисел определить максимальное четное число и его порядковый номер.
Упорядочить массив целых положительных чисел по возрастанию, определить номер минимального простого числа до и после упорядочивания массива C++
C++ Номер минимального простого числа в массиве одномерном C++
C++ Дан массив упорядоченных по возрастанию целых чисел. разработать алгоритм бинарного поиска заданного числа, результат номер искомого числа или 0 если
C++ 6.62. Дана непустая и упорядоченная по возрастанию последовательность целых чисел, оканчивающаяся числом 10 ООО. Определить порядковый номер первого ч
C++ Упорядочить массив Х(N) по возрастанию, найти сумму положительных элементов массива
Упорядочить массив целых положительных чисел по возрастанию, определить но- мер минимального простого числа до и после упорядочивания массива C++
C++ Определить номер минимального простого числа до и после упорядочивания массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
кверти
4 / 4 / 1
Регистрация: 22.09.2013
Сообщений: 133
Завершенные тесты: 2
09.04.2014, 19:30     Упорядочить массив целых положительных чисел по возрастанию, определить номер минимального простого числа #2
Используй пузырьковую сортировку. Ниже она описана функцией .
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void bubbleSort(int* arr, int size)
{
    int tmp, i, j;
 
    for(i = 0; i < size - 1; ++i) // i - номер прохода
    {            
        for(j = 0; j < size - 1; ++j) // внутренний цикл 
        {     
            if (arr[j + 1] < arr[j]) 
            {
                tmp = arr[j + 1]; 
                arr[j + 1] = arr[j]; 
                arr[j] = tmp;
            }
        }
    }
}
Следовательно после сортировки минимальный будет первый элемент . А чтобы определить где он был до сортировки , то нужно запомнить куда-то его позицию
Yandex
Объявления
09.04.2014, 19:30     Упорядочить массив целых положительных чисел по возрастанию, определить номер минимального простого числа
Ответ Создать тему
Опции темы

Текущее время: 02:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru