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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 5.00
Айгулька
0 / 0 / 0
Регистрация: 11.01.2011
Сообщений: 7
12.01.2011, 17:21     одномерный массив с++ #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
#include "stdafx.h"
#include <windows.h>
 
 
void print(int a[],int n)
{
    for(int i=0; i<n; i++)
        printf("%i ",a[i]);
        printf("\n");
 
}
 
void vvod(int a[], int n)
{
    for(int i=0;i<n;i++)
        a[i]=rand()%201-100;
}
void sdv( int a, double *m, int N )
{
    int i;
    for( i = a; i < N-1; i++ )
        m[i] = m[i+1];
}
 
void obr(int a[],int n)
{
    int s=1,i,j;
    for (i=0;i<n;i++)
    {
        for(j=2;j<a[i];j++)
            if (a[i]%j==0) s=s*0;
        if (s) 
        {
                for ( int k=0 ; k<(n-1) ; n--)
        a[k]=a[k+1];
        n--;
        }
    }
}
int main()
{
SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    int a[25],n,s=1;
    printf("введите n"); scanf("%i",&n);
    vvod(a,n);
    print(a,n);
    obr(a,n);
print(a,n);
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2011, 17:21     одномерный массив с++
Посмотрите здесь:

Массив: Все элементы массива, кратные трем, записать в одномерный массив. C++
Массив: найти номера столбцов с положительными элементами и записать их в одномерный массив C++
Матрица и одномерный массив (Составить одномерный массив, содержащий количество буквенных символов в каждом из ее столбцов, подсчет символов) C++
Создать одномерный массив, заполнить его случайными значениями, отсортировать массив по убыванию C++
Сформировать одномерный массив, удалить первый элемент с заданным значением, сдвинуть массив циклически C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
12.01.2011, 17:26     одномерный массив с++ #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <vector>
#include <iostream>
#include <iterator>
#include <algorithm>
 
bool isSimple(int one)
{
    for(int i=2; i<=one/2; ++i)
       if(one % i == 0)
         return false;
    return true;
}
 
int main()
{
    std::vector<int> vec((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    vec.erase(std::remove_if(vec.begin(), vec.end(), isSimple), vec.end());
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout<<'\n';
    return 0;
}
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
12.01.2011, 17:27     одномерный массив с++ #3
Айгулька, в принципе этот вариант нормальный. Нужно лишь при каждом сдвиге уменшать число элементов массива.

Не по теме:

ForEveR, хитер) думаю автор темы все поймет

Цитата Сообщение от ForEveR Посмотреть сообщение
i<=one/2
можно даже до static_cast<int>(sqrt(static_cast<double>(one)))

ForEveR
12.01.2011, 17:29     одномерный массив с++
  #4

Не по теме:

sandye51, А на эту тему я пишу каждый раз. На форуме коды я в основном пишу для себя - хоть я и знаю как это делать, но все же - повторение - мать учения.

Yandex
Объявления
12.01.2011, 17:29     одномерный массив с++
Ответ Создать тему
Опции темы

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