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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 5.00
IlyaCool
1 / 1 / 0
Регистрация: 04.12.2011
Сообщений: 187
#1

Сформировать массив простых чисел не больших заданного натурального числа N - C++

17.03.2012, 02:41. Просмотров 2728. Ответов 7
Метки нет (Все метки)

Сформировать массив простых чисел не больших заданного натурального числа N.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2012, 02:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформировать массив простых чисел не больших заданного натурального числа N (C++):

Сформировать массив простых чисел не больших заданного натурального числа N. - C++
Сформировать массив простых чисел не больших заданного натурального числа N.

Подсчитать количество простых чисел в последовательности, больших заданного числа М - C++
Всем привет)) помогите разработать программу С++! Тема: Одномерные массивы. Разработать программу на языке программирования согласно...

Подсчитать количество простых чисел в последовательности, больших заданного числа М - C++
Подсчитать количество простых чисел в последовательности, больших заданного числа М. Пример: М=5, 2 3 4 7 19 18 7 8 11 15; результат:...

Среди простых чисел , не превосходящих заданного натурального числа N .Найти такие, в десятичном представление которых больше всего нулей - C++
Ребята помогите!!!!!!!!!!!!!! плс

Из цифр заданного натурального числа рекурсивно сформировать множество - C++
2.Записать рекурсивную подпрограмму для формирования множества( set) из цифр заданного натурального числа. Очень нужно,помогите!

Сформировать массив из элементов больших заданного значения - C++
Дан одномерный массив А(н) сформировать массив В(к),состоящий из a(i)\succ t. На печать вывести исходный массив, сформированный массив и...

7
HackSign
35 / 35 / 14
Регистрация: 23.11.2006
Сообщений: 125
17.03.2012, 11:37 #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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <iostream.h> 
 
int main()
{
  int i, j, k, s, N; 
  int mass[20]; 
  
  cout<<"Vvedite razmernost massiva ot 8 do 20"<<" "; 
  cin>>i; 
  cout<<"\n"; 
  if((i<8)||(i>20)) 
  { 
   cout<<"Error! razmernost zadana neverno!"<<"\n"; 
   cout<<"Press any key to exit"; 
   getch(); 
   exit(0);
   }
  cout<<"Vvedite chislo N"<<" "; 
  cin>>N; 
  cout<<"\n";
  
  for(j=0; j<=i; j++) 
  { 
   mass[j]=rand() % N; // генерация случайных чисел, N  здесь ограничивает генерацию
                        // то есть число большее чем N не сгенерируется
   } 
  for(j=0; j<=i; j++) 
  {
   cout<<"mass["<<j<<"]="<<" "<<mass[j]; 
   cout<<"\n";
   } 
cout<<"Press any key to exit"; 
getch(); 
return 0; 
}
2
fasked
Эксперт С++
4951 / 2531 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
17.03.2012, 11:52 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
HackSign, автору надо простые числа, а не случайные.
IlyaCool, я думаю, решето Эратосфена Вам подошло бы.

Вот здесь обсуждается подобная тема: http://www.cyberforum.ru/cpp-beginners/thread343023.html

А вот один из примеров генерации простых чисел до заданного N.
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
#include <cmath>
#include <vector>
#include <iostream>
 
int main() 
{
        unsigned limit = 1000;
                
        std::vector<bool> is_primes(limit + 1, false);
        unsigned sqrt_of_limit = static_cast<unsigned>(sqrt(static_cast<double>(limit)));
 
        for (unsigned i = 1; i <= sqrt_of_limit; ++i) 
        {
                for (unsigned j = 1; j <= sqrt_of_limit; ++j) 
                {
                        unsigned x = i * i;
                        unsigned y = j * j;
                        unsigned n = 4*x + y;
 
                        if (n <= limit && (n % 12 == 1 || n % 12 == 5))
                                is_primes[n].flip();
 
                        n -= x;
                        if (n <= limit && n % 12 == 7)
                                is_primes[n].flip();
 
                        n -= 2*y;
                        if (x > y && n <= limit && n % 12 == 11)
                                is_primes[n].flip();
                }
        }
 
        for (unsigned i = 5; i <= sqrt_of_limit; i += 2) 
        {
                if (is_primes[i]) 
                {
                        unsigned x = i * i;
                        for (unsigned j = x; j <= limit; j += x)
                                is_primes[j] = false;
                }
        }
 
        is_primes[2] = is_primes[3] = true;
 
 
        for (unsigned i = 0; i < limit; ++i) 
        {
                if (is_primes[i])
                        std::cout << i << std::endl;
        }
 
        return 0;
}
1
IlyaCool
1 / 1 / 0
Регистрация: 04.12.2011
Сообщений: 187
20.03.2012, 01:12  [ТС] #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
#include <stdlib.h>
#define n 1
void main()
{ int i,A[n];
clrscr();
randomize();
 for(i=0;i<n;i++)
  {A[i]=rand()%n;
  cout<<A[i];}
  }
запускаю появляется черный экран и гаснет.задача та же самая
0
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
20.03.2012, 01:21 #5
Паузу поставьте
1
IlyaCool
1 / 1 / 0
Регистрация: 04.12.2011
Сообщений: 187
20.03.2012, 01:26  [ТС] #6
Цитата Сообщение от AncinetHero Посмотреть сообщение
Паузу поставьте
это как ??
0
Рустам777
3 / 3 / 0
Регистрация: 13.04.2011
Сообщений: 32
20.03.2012, 02:02 #7
Цитата Сообщение от IlyaCool Посмотреть сообщение
это как ??
C++
1
getch();
1
IlyaCool
1 / 1 / 0
Регистрация: 04.12.2011
Сообщений: 187
21.03.2012, 15:31  [ТС] #8
C++
1
2
3
4
5
6
7
8
#include <iostream.h>
#include <conio.h>
void main()
{ int i,A[10];
clrscr();
for(i=0;i<10;i++)
{cout<<"Vvedite chisla dlya massiva A[i]";cin>>A[i];}
}
надо чтобы при попытке ввести в массив число большее чем 50 писалось что это число слишком большое.

Добавлено через 12 часов 48 минут
Цитата Сообщение от IlyaCool Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
#include <iostream.h>
#include <conio.h>
void main()
{ int i,A[10];
clrscr();
for(i=0;i<10;i++)
{cout<<"Vvedite chisla dlya massiva A[i]";cin>>A[i];}
}
надо чтобы при попытке ввести в массив число большее чем 50 писалось что это число слишком большое.
что никто не пишет?
0
21.03.2012, 15:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2012, 15:31
Привет! Вот еще темы с ответами:

Найти в массиве количество простых чисел,больших суммы цифр первого числа - C++
Учусь на 1 курсе,стараюсь,но пока очень туго понимаю С++, по шаблону что-то написать могу, а какое-то другое условие - и я в ступоре. На...

Сформировать одномерный массив из 15 простых чисел - C++
Сформировать одномерный массив из 15 простых чисел. Помогите пожалуйста на языке С++, заранее спасибо

Сформировать массив простых чисел, не превосходящих заданное - C++
Такая вот задачка: Составить прог-му которая формирует массив элементы которого являются простыми числами не превосходящими заданное...

Сформировать массив из всех делителей введенного с клавиатуры натурального числа - C++
Сформировать массив из всех делителей введенного с клавиатуры натурального числа. Сформированный массив вывести на экран.


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

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

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