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

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

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

Одномерный массив - C++

27.11.2011, 21:29. Просмотров 431. Ответов 6
Метки нет (Все метки)

Найти все простые числа меньше n, используя сетку Эратосфена. Сеткой Эратосфена называется такой алгоритм: выпишем подряд все числа от 2 до n, первое число 2; подчеркнем его как простое, а все большие числа кратные 2 зачеркнем. Первое из оставшихся чисел - 3; подчеркнем его как простое, а все большие числа кратные 3 зачеркнем. Первое из оставшихся чисел - 5 (т.к. 4 уже зачеркнуто) подчеркнем его как простое, а все больши кратные 5 зачеркнем и т.д.
2, 3, 5, 7, 11 …
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2011, 21:29     Одномерный массив
Посмотрите здесь:

одномерный массив в С++ - C++
даны одномерный массив А натуральных чисел,состоящих из N элементов,и натуральное число К.если последовательность из К<N элементов...

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

Одномерный массив - C++
Здравствуйте. Нужна помощь в решении задачи: Дано числовой одномерный массив из 16 элементов. Найти четные элементы массива, значение...

Одномерный массив - C++
В одномерном массиве состоящем из n вещественных элементов, вычислить: 1) количество элементов массива равных 0. 2)сумму элементов...

Одномерный массив - C++
Помогите переделать эту задачу так чтобы в самом начале задачи вводился массив))) Вот само условие:Вычислить среднее арифметическое...

одномерный Массив - C++
В одномерном массиве В состоящем из N целых элементов, вычислить: a) количество элементов, равных по значению первому элементу; b)...

Одномерный массив в с++ - C++
1.подготовить тексТовый файл с выходными данными в редакторе. 2. составить алгоритм программы 3.разбить программу на функции вывода ,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
27.11.2011, 22:11     Одномерный массив #2
Цитата Сообщение от Ksu_Ksu Посмотреть сообщение
Найти все простые числа меньше n, используя сетку Эратосфена. Сеткой Эратосфена называется такой алгоритм: выпишем подряд все числа от 2 до n, первое число 2; подчеркнем его как простое, а все большие числа кратные 2 зачеркнем. Первое из оставшихся чисел - 3; подчеркнем его как простое, а все большие числа кратные 3 зачеркнем. Первое из оставшихся чисел - 5 (т.к. 4 уже зачеркнуто) подчеркнем его как простое, а все больши кратные 5 зачеркнем и т.д.
2, 3, 5, 7, 11 …
Такую задачу проще всего делать с помощью стандартного контейнера std::vector. Заносите в него числа, начиная с 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
#include   <iostream>
#include   <vector>
#include   <algorithm>
 
void remove( std::vector<int> &v );
 
int main()
{
   int n;
 
   while ( std::cout << "Enter number of elements: ", std::cin >> n & n )
   {
      std::vector<int> v( n );
 
      for ( int i = 0; i < n; i++ ) v[i] = i + 2;
 
      std::copy( v.begin(), v.end(), std::ostream_iterator<int>( std::cin, " " ) );
 
      remove( v );
 
      std::copy( v.begin(), v.end(), std::ostream_iterator<int>( std::cin, " " ) );
   }
}
Вам лишь осталось самостоятельно написать определение функции remove У меня написание этой функции заняло пять минут.
Ksu_Ksu
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 3
27.11.2011, 23:12  [ТС]     Одномерный массив #3
Сыроежка, а можно как-то без использования std::vector ???
Сыроежка
Заблокирован
27.11.2011, 23:18     Одномерный массив #4
Цитата Сообщение от Ksu_Ksu Посмотреть сообщение
Сыроежка, а можно как-то без использования std::vector ???
Без использования вектор задача сильно усложняется, так как вам самостоятельно придется каждый раз сдвигать элементы массива при удалении из него непростого числа. То есть, фактически, вам самому придется организоавать работу вектора.
Ksu_Ksu
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 3
27.11.2011, 23:27  [ТС]     Одномерный массив #5
Ясно. Спасибо! ))
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
27.11.2011, 23:32     Одномерный массив #6
Цитата Сообщение от Сыроежка Посмотреть сообщение
std::copy( v.begin(), v.end(), std::ostream_iterator<int>( std::cin, " " ) )
C++
1
std::copy( v.begin(), v.end(), std::ostream_iterator<int>( std::cout, " " ) );
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2011, 23:37     Одномерный массив
Еще ссылки по теме:

Одномерный массив С. - C++
Не получается написать программу на C: Найти масимальный элемент массива, встрещающегося в данном массиве более одного раза. Была идея...

Одномерный массив - C++
Удалить из одномерного массива все повторяющиеся элементы, оставив их первые вхождения, т.е в массиве должны остаться только различные...

Одномерный массив - C++
Помогите решить задачку в Win32 API В одномерном массиве, состоящем из n вещественных элементов вычислить: 1) максимальный элемент...

Одномерный массив - C++
Ввести одномерный массив A из N элементов. Каждый элемент в массиве чьё значение лежит вне диапазона − возвести в квадрат. Массив ...

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


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

Или воспользуйтесь поиском по форуму:
Сыроежка
Заблокирован
27.11.2011, 23:37     Одномерный массив #7
Цитата Сообщение от Dekio Посмотреть сообщение
C++
1
std::copy( v.begin(), v.end(), std::ostream_iterator<int>( std::cout, " " ) );
Спасибо, что заметили опечатку.
Yandex
Объявления
27.11.2011, 23:37     Одномерный массив
Ответ Создать тему
Опции темы

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