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

Найти 100 первых простых чисел - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 253, средняя оценка - 4.74
Raynk
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 6
17.08.2009, 09:04     Найти 100 первых простых чисел #1
Привет всем помогите пожалуйста кто может у меня такая проблема не могу решить задачи по C++ потому что я не понимаю этот язык программирования вот несколько заданий.

1. Найти 100 первых простых чисел.
2. Дано число n. Напечатать те натуральные числа, квадрат которых не превышает n.
3. Дан массив x [1]..x[n] целых чисел. Не используя других массивов, переставить элементы массива в обратном порядке.
4. Дано слово. Определить, одинаковы ли второй и четвертый символы в нем.
5. Дано слово. Получить его часть, образованную идущими подряд буквами, начиная с k-й и кончая m-й, (k и m вводятся с клавиатуры).
6. Дана прямоугольная таблица a[1:n,1:m]. Найти минимальный из максимумов строк, т.е. min (max aij ), 1 <= i <= n, 1 <= j <= m
7. Все элементы матрицы, кроме диагональных, заменить единицами.
8. Дана квадратная таблица a[1:n,1:n]. Найти номер строки, содержащей наибольшее число нулей.
9. В соревнованиях по прыжкам в длину участвовали N-спортсменов. Каждый спортсмен мог сделать М-попыток. Результаты (длины прыжков) занесены в таблицу A[1:M,1:N]. Если результат не засчитывали, то вместо длины прыжков заносили ноль. Составить алгоритм, который дает возможность определить лучший результат К-ого спортсмена.
10. Дан массив данных о работающих на фабрике: фамилия, имя, отчество, адрес (улица, дом, квартира) и дата поступления на работу (месяц, год). Определить, есть ли в списке Ивановы (Иванов, Иванова), если есть, то вывести их адрес (адреса) и посчитать из них количество, проработавших не менее двух лет на сегодняшний день.
11. Даны два одномерных массива A[n] и B[n]. Получить массив С[2,n], первая строка которого – упорядоченные по возрастанию элементы B[n], вторая строка – упорядоченные по убыванию элементы A[n]. Использовать алгоритм вставки.

Пожалуйста решите эти задания кто сможет зарание благодарен!!!!!!!!!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LLLob
22 / 22 / 5
Регистрация: 21.10.2009
Сообщений: 38
29.10.2009, 17:43     Найти 100 первых простых чисел #41
Программа №6:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<windows.h>
using namespace std;
void main()
{
    SetConsoleOutputCP(1251);
    int n=1;
    cout<<"Программа №6\n";
    cout<<"Целые числа от 0 до 100:\n";
    while(n<=100)
    {
        cout<<n<<endl;
        n++;
    }
    cin.get();
    cin.get();
}
Найти 100 первых простых чисел
Программа №7:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<windows.h>
using namespace std;
void main()
{ 
    SetConsoleOutputCP(1251);
    int i=1;
    int n;
    cout<<"Программа №7\n";
    cout<<"Введите количество целых положительных чисел: ";
    cin>>n;
    while(i<=n)
    {
        cout<<"Число "<<i<<" в квадрате = "<<i*i<<endl;
        cout<<"Число "<<i<<" в кубе = "<<i*i*i<<endl;
        cout<<"---------------------------------------"<<endl;
        i++;
    }
    cin.get();
    cin.get();
}
Найти 100 первых простых чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LLLob
22 / 22 / 5
Регистрация: 21.10.2009
Сообщений: 38
29.10.2009, 17:50     Найти 100 первых простых чисел #42
Программа №10:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<windows.h>
using namespace std;
void main()
{ 
    SetConsoleOutputCP(1251);
    float s, sm;
    cout<<"Программа №10\n";
    cout<<"Введите скорость в км/ч: ";
    cin>>s;
    sm=s*1000/3600;
    cout<<"Скорость: "<<sm<<" м/с"<<endl;
    cin.get();
    cin.get();
}
Найти 100 первых простых чисел
LLLob
22 / 22 / 5
Регистрация: 21.10.2009
Сообщений: 38
29.10.2009, 18:22     Найти 100 первых простых чисел #43
Программа №3:
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>
using namespace std;
void main()
{
        setlocale(LC_ALL, "Russian");
        int i=0;
        int n;
        cout<<"Программа №3\n";
        cout<<"Катет звездочек едениц: ";
        cin>>n;
        for(i; i<n; i++)
        {
        int a=0;
        while(a<i+1)
            {
            cout<<"*";
            a++;
            }
        cout<<"\n";
        }
        cout<<"\n";
        system ("pause");
}
Добавлено через 7 минут
Программа №12:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<math.h>
using namespace std;
void main()
{
        setlocale(LC_ALL, "Russian");
        float i=1;
        float n;
        cout<<"Программа №12\n";
        cout<<"До какой степени производить расчет: ";
        cin>>n;
        while(i<=n)
            {
            float y=pow(2,i);
            cout<<"2 в степени "<<i<<" : "<<y<<endl;
            i++;
            }
        system ("pause");
}
LLLob
22 / 22 / 5
Регистрация: 21.10.2009
Сообщений: 38
29.10.2009, 19:07     Найти 100 первых простых чисел #44
Программа №9:
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
#include<iostream>
#include<windows.h>
using namespace std;
void main()
{
    SetConsoleOutputCP(1251);
    int n, h, m, d, s;
    cout<<"Программа №9\n";
    cout<<"Введите время в секундах: ";
    cin>>n;
    if(n>=86400)
    {
        d=n/86400;
        h=(n-86400*d)/3600;
        m=(n-86400*d-3600*h)/60;
        s=(n-86400*d-3600*h-60*m);
        cout<<"Полных дней: "<<d<<endl;
        cout<<"Полных часов: "<<h<<endl;
        cout<<"Полных минут: "<<m<<endl;
        cout<<"Полных секунд: "<<s<<endl;
        cin.get();
        cin.get();
    }
    else
    {
        if(n>=3600 && n<86400)
        {
            h=n/3600;
            m=(n-3600*h)/60;
            s=(n-3600*h-60*m);
            cout<<"Полных часов: "<<h<<endl;
            cout<<"Полных минут: "<<m<<endl;
            cout<<"Полных секунд: "<<s<<endl;
            cin.get();
            cin.get();
        }
        else
        {
            if(n<3600)
            {
                m=n/60;
                s=n-60*m;
                cout<<"Полных минут: "<<m<<endl;
                cout<<"Полных секунд: "<<s<<endl;
                cin.get();
                cin.get();
            }
            else
            {
                if(n<60)
                {
                    s=n;
                    cout<<"Полных секунд: "<<s<<endl;
                    cin.get();
                    cin.get();
                }
            }
        }
    }
}
Victim
Сообщений: n/a
11.12.2009, 13:20     Найти 100 первых простых чисел #45
Плиз помогите мне очень срочно нужно решение задач !!! А то кранты =)
1.Даны три различных числа. Среднее из них заменить суммой квадратов, большее ― квадратом суммы меньшего и среднего, меньшее оставить без изменения.
2.Вычислить приближенно значение бесконечной суммы с точностью до 0,0005:
Значение и точность расчетов ввести как константы (см. примечание к варианту 4).
3.Написать программу, вычисляющую среднее арифметическое всех элементов массива из 200 элементов. Если в массиве есть элемент, равный среднему арифметическому, то программа должна вывести на экран номер этого элемента
4. Написать функцию, которая в заданном массиве определяет количество элементов, находящихся в диапазоне двух введённых чисел.

Хоть что нибудь просто время поджимает !
breeve
 Аватар для breeve
73 / 73 / 14
Регистрация: 01.08.2009
Сообщений: 177
11.12.2009, 14:48     Найти 100 первых простых чисел #46
Цитата Сообщение от Victim Посмотреть сообщение
Плиз помогите мне очень срочно нужно решение задач !!! А то кранты =)
1.Даны три различных числа. Среднее из них заменить суммой квадратов, большее ― квадратом суммы меньшего и среднего, меньшее оставить без изменения.
2.Вычислить приближенно значение бесконечной суммы с точностью до 0,0005:
Значение и точность расчетов ввести как константы (см. примечание к варианту 4).
3.Написать программу, вычисляющую среднее арифметическое всех элементов массива из 200 элементов. Если в массиве есть элемент, равный среднему арифметическому, то программа должна вывести на экран номер этого элемента
4. Написать функцию, которая в заданном массиве определяет количество элементов, находящихся в диапазоне двух введённых чисел.

Хоть что нибудь просто время поджимает !
4)
вот
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
#include<iostream>
using namespace std;
 
int poisk(int [],int, int);
 
 
int main()
{
    int arr[] = {0,1,2,3,4,5,6,7,8,9};
    int otvet = poisk(arr, 1, 3);
    cout << otvet <<endl;
    cin.get();
    return 0;
}
 
int poisk(int array[], int a, int b)
{
    int s = 0, i = 0;
    do
    {
        i++;
    } 
    while(array[i]!=a);
    i++;
    do
    {
        s++;
        i++;
    } 
    while(array[i]!=b);
    return s;
}


Добавлено через 40 минут
3)

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
#include <iostream>
#include <stdlib.h>
 
#define size 200
 
using namespace std;
 
int main()
{
    srand(time(NULL));
    int arr[size];
    int summa = 0;
    int sA;
    for(int i = 0; i < size; i++)
    {
        arr[i] = random() % 100; // заполняем массив рандомными числами
        summa = summa + arr[i]; // считаем суммы всех элементов массива
    }
    
    sA = summa / size; // вычисляем среднее арифметическое
    for(int i = 0; i < size; i++)
    {
        if(sA==arr[i]){
            cout <<"Среднее арифметическое: "<< sA << endl 
                 <<"содержиться в ячейке: " << i <<endl;
            cin.get();
            return 0;
        }
    }
    cout <<"Среднее арифметическое: "<< sA << endl;
    cin.get();
    return 0;
}
LLIuPi
0 / 0 / 0
Регистрация: 24.12.2009
Сообщений: 3
24.12.2009, 21:05     Найти 100 первых простых чисел #47
Помогите!
1.условие
2.объяснение для переменных
3.Математическая модель
4.Программа
2
y=x-cosx a= П4 b=П2 ( x в квадрате!))
Victim
Сообщений: n/a
18.01.2010, 20:18     Найти 100 первых простых чисел #48
Получить номера строк, элементы каждой из которых образуют монотонную последовательность (монотонно убывающую или монотонно возрастающую).

Пожалуйста на завтра надо решить а у меня с++ накрылся инстальник на сёдня не смогу найти ((( ПЛИЗ!
Asylbek
Сообщений: n/a
02.06.2011, 21:47     Найти 100 первых простых чисел #49
прошу вашей помощи....я совсем не разбираюсь в области программирования


13.4 Преобразование массива
Удаление и вставка элементов

Array101. Дан массив размера N и целое число K (1 ≤ K ≤ N). Перед элементом массива с порядковым номером K вставить новый элемент с нулевым зна-чением.

13.5 Серии целых чисел

Array124.
Дано целое число K (> 0) и целочисленный массив размера N. Поме-нять местами последнюю серию массива и его серию с номером K. Если серий в массиве меньше K, то вывести массив без изменений.

17.2 Анализ и форматирование текста
Text28. Дан текстовый файл. Абзацы выделяются в нем с помощью красной строки (см. задание Text26), а пустых строк нет. Вставить между соседни-ми абзацами по одной пустой строке (в начало и конец файла пустые стро-ки не добавлять).
(задача Text26Text26. Дан текстовый файл. Найти количество абзацев в тексте, если первая строка каждого абзаца начинается с 5 пробелов («красная строка»). Пус-тые строки между абзацами не учитывать.
)


18.1 Одномерные и двумерные массивы

Param7. Описать процедуру Smooth3(A, N), выполняющую сглаживание веще-ственного массива A размера N следующим образом: каждый элемент мас-сива заменяется на его среднее арифметическое с соседними элементами (при вычислении среднего арифметического используются исходные зна-чения соседних элементов). Массив A является входным и выходным па-раметром. С помощью этой процедуры выполнить пятикратное сглажива-ние данного массива A размера N, выводя результаты каждого сглажива-ния.

Param46. Описать функцию BinToDec(S) целого типа, определяющую целое неотрицательное число по его строковому представлению S в двоичной системе счисления. Параметр S имеет строковый тип, состоит из символов «0»–«1» и не содержит ведущих нулей (за исключением значения «0»). Используя эту функцию, вывести пять чисел, для которых даны их двоич-ные представления. Используя эту функцию, вывести пять чисел, для которых даны их двоич-ные представления.


19.2 Разбор выражений

Recur16º. Вывести значение целочисленного выражения, заданного в виде строки S. Выражение определяется следующим образом:
<выражение> ::= <терм>|<выражение> + <терм> |<выражение> – <терм>

<терм> ::= <элемент> | <терм> * <элемент>
<элемент> ::= <цифра> | (<выражение>)


15.3 Обработка строк с помощью стандартных функций. Поиск и замена
String28. Дан символ C и строка S. Удвоить каждое вхождение символа C в строку S.

16.1 Основные операции с двоичными файлами
Преобразование файла

File28. Дан файл вещественных чисел. Заменить в файле каждый элемент, кро-ме начального и конечного, на его среднее арифметическое с предыдущим и последующим элементом.
RaiaNKnight
 Аватар для RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 458
Записей в блоге: 1
30.06.2011, 15:33     Найти 100 первых простых чисел #50
Вот номер 3 также
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
{
  int *a,i,j,n,p;
  cin>>n;
  a=new int[n];
  for(i=0;i<n;i++)
    cin>>a[i];
  for(i=0;i<n/2;i++)
  {
    p=a[i];
    a[i]=a[n-i-1];
    a[n-i-1]=p;
  }
  for(i=0;i<n;i++)
    cout<<a[i]<<' ';
  system("Pause");
}
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
01.08.2011, 23:07     Найти 100 первых простых чисел #51
N 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
#include<stdio.h>
 
int Prime (unsigned int n)
{
   if (n == 0 || n == 1) return 0;
   else
   {
      unsigned int i = 2;
      while (i*i <= n && n % i != 0)
         i++;
      return (i*i > n);
   }
}
 
int main()
{
   unsigned int i, n;
   printf("%d\n", 2);
   n = 1;
   for (i = 3; n < 100; i += 2)
      if (Prime(i))
      {
         printf("%d\n", i);
         n++;
      }
   getchar();
   return 0;
}


N 2

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
 
void Print(int n)
{
   int i;
   i = 1;
   while(i*i <= n)
   {
       printf("%d\n", i);
       i++;
   }
}
 
int main()
{
   int n;
   scanf("%d", &n);
   Print(n);
   return 0;
}


N 3

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Inverse(int *x, int n)
{
   int i, j;
   i = 0;
   j = n - 1;
   while(i < j)
   {
      x[i] ^= x[j];
      x[j] ^= x[i];
      x[i] ^= x[j];
      i++;
      j--;
   }
}


N 4

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
#include<string.h>
 
int Equal(char *s, int i, int j)
{
   return (i >= 0 && j < strlen(s) && s[i] == s[j]);
}
 
int main()
{
   char s[500];
   fgets(s, 500, stdin);
   printf("%s\n", Equal(s, 2, 4) ? "yes" : "no");
   getchar(); getchar();
   return 0;
}


N 5

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
#include<stdio.h>
#include<string.h>
 
int SubString(char *s, int i, int j, char *t)
{
   if (i >=0 && j < strlen(s) && i <= j)
   {
       strncpy(t, &s[i], j - i +1);
       t[j - i + 1] = '\0';
       return 1;
   }
   else
      return 0;
}
 
int main()
{
   char s[500], t[500];
   int i, j;
   fgets(s, 500, stdin);
   scanf("%d", &i);
   scanf("%d", &j);
   if (SubString(s, i, j, t))
      puts(t);
   getchar(); getchar();
   return 0;
}


N 6

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
#include<stdio.h>
#define M 5      /* ÷èñëî ñòðîê Г¬Г*òðèöû */
#define N 10     /* ÷èñëî ñòîëáöîâ */
 
void Init(int a[M][N], int m, int n)
{
   int i, j;
   for (i = 0; i < m; i++)
      for (j = 0; j < n; j++)
         a[i][j] = rand()%100;
}
 
void Print(int a[M][N], int m, int n)
{
   int i, j;
   for (i = 0; i < m; i++)
   {
      for (j = 0; j < n; j++)
         printf("%4d", a[i][j]);
      printf("\n");
   }
}
 
int Max(int a[M][N], int m, int n, int k)
{
   int max, i;
   max = a[k][0];
   for(i = 1; i < n; i++)
      if (a[k][i] > max)
         max = a[k][i];
   return max;
}
 
int main()
{
   int a[M][N];
   int min, max, i;
   Init(a, M, N);
   Print(a, M, N);
   min = Max(a, M, N, 0);
   for (i = 1; i < M; i++)
   {
      max = Max(a, M, N, i);
      if (max < min)
         min = max;
   }
   printf("min = %d\n", min);
   getchar();
   return 0;
}


N 7

C
1
2
3
4
5
6
7
8
void Zamena(int a[N][N], int n)
{
   int i, j;
   for (i = 0; i < n; i++)
      for (j = 0; j < n; j++)
         if (i != j && j != n - 1 - i)
            a[i][j] = 1;
}


N 8

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
#include<stdio.h>
#define N 10
 
void Init(int a[N][N], int n)
{
   int i, j;
   for (i = 0; i < n; i++)
      for (j = 0; j < n; j++)
         a[i][j] = rand()%10 - 5;
}
 
void Print(int a[N][N], int n)
{
   int i, j;
   for (i = 0; i < n; i++)
   {
      for (j = 0; j < n; j++)
         printf("%4d", a[i][j]);
      printf("\n");
   }
}
 
int Count(int a[N][N], int n, int k, int x)
{
   int i, count = 0;
   for (i = 0; i < n; i++)
      if (a[k][i] == x)
         count++;
   return count;
}
 
int main()
{
   int a[N][N];
   int max, i, count, num_i, flag;
   Init(a, N);
   Print(a, N);
 
   flag = num_i = max = 0;
   for (i = 0; i < N; i++)
   {
      count = Count(a, N, i, 0);
      if (count > max)
      {
         flag = 1;
         max = count;
         num_i = i;
      }
   }
   if (flag)
      printf("i = %d\n", num_i);
   else
      printf("в матрице нет нулевых элементов");
   getchar();
   return 0;
}


N 9

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
#include<stdio.h>
#define M 5
#define N 10
 
int Max(int a[M][N], int m, int n, int k)
{
   int max, i;
   max = a[k][0];
   for(i = 1; i < n; i++)
      if (a[k][i] > max)
         max = a[k][i];
   return max;
}
 
int main()
{
   int a[M][N];
   int i;
   /* заполнение матрицы */
   for (i = 0; i < M; i++)
      printf("%d\n", Max(a, M, N, i));
   getchar();
   return 0;
}


N 10 и N 11 тоже крайне простые.

Читайте книги, например, http://www.twirpx.com/file/540580/

Добавлено через 3 часа 31 минуту
Цитата Сообщение от Asylbek Посмотреть сообщение
прошу вашей помощи....я совсем не разбираюсь в области программирования

13.4 Преобразование массива
Удаление и вставка элементов

Array101. Дан массив размера N и целое число K (1 ≤ K ≤ N). Перед элементом массива с порядковым номером K вставить новый элемент с нулевым значением....
А кто умеет эффективно удалять элементы из массива? Это вопрос на засыпку. Это очень просто, но все же
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
01.08.2011, 23:28     Найти 100 первых простых чисел #52
Цитата Сообщение от Olga_ Посмотреть сообщение
А кто умеет эффективно удалять элементы из массива?
переместить в конец?)
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
01.08.2011, 23:35     Найти 100 первых простых чисел #53
Цитата Сообщение от Maxwe11 Посмотреть сообщение
переместить в конец?)
Так тут задача удалить, поэтому переместить или просто выкинуть - не важно, главное, чтобы удаляемых элементов не было среди других. Так вот есть очень эффективные методы и вопрос в том, кто как бы это реализовал
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
01.08.2011, 23:39     Найти 100 первых простых чисел #54
remove-erase
grizlik78
Эксперт С++
 Аватар для grizlik78
1883 / 1415 / 102
Регистрация: 29.05.2011
Сообщений: 2,960
01.08.2011, 23:40     Найти 100 первых простых чисел #55
Цитата Сообщение от PointsEqual Посмотреть сообщение
remove-erase
+1
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
02.08.2011, 07:04     Найти 100 первых простых чисел #56
Что значит remove-erase. А код? Причем свой код, а не какой-то встроенный метод какого-нибудь класса, это просто слишком.
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
02.08.2011, 07:13     Найти 100 первых простых чисел #57
Olga_, это стандартные алгоритмы С++. Программист на С++ обязан их знать и использовать, а не изобретать "велосипед"...
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
02.08.2011, 07:17     Найти 100 первых простых чисел #58
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Olga_, это стандартные алгоритмы С++. Программист на С++ обязан их знать и использовать, а не изобретать "велосипед"...
Даже стандартные алгоритмы могли быть написаны чей-то неумелой рукой. Ну да ладно, remove-erase такremove-erase, это максимум, что придумано на вопрос.
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
02.08.2011, 07:27     Найти 100 первых простых чисел #59
Цитата Сообщение от Olga_ Посмотреть сообщение
Даже стандартные алгоритмы могли быть написаны чей-то неумелой рукой. Ну да ладно, remove-erase такremove-erase, это максимум, что придумано на вопрос.
Нет, не все.
0. Стандартные алгоритмы неумелой рукой не могут быть написаны.
0.0. Физически элемент из массива удалить нельзя - только переписав в новый массив.
1. Если требуется сохранять порядок элементов в массиве, то без перемещения элементов правее него никак не обойтись. - это делает алгоритм remove.
2. Если порядок элементов можно не сохранять, то нужно его обменять с последним элементом.
3. И наконец. Вместо массива нужно использовать стандартный контейнер vector.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2011, 07:40     Найти 100 первых простых чисел
Еще ссылки по теме:

4. Найти N первых пар простых чисел, которые отличались бы друг от друга на 2 C++
Найти 10 первых натуральных чисел, оканчивающихся на цифру 7 кратных числу 9, не меньших 100 (Pascal -> C++) C++
Найти сто первых простых чисел C++

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

Или воспользуйтесь поиском по форуму:
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
02.08.2011, 07:40     Найти 100 первых простых чисел #60
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Нет, не все.
0. Стандартные алгоритмы неумелой рукой не могут быть написаны.
0.0. Физически элемент из массива удалить нельзя - только переписав в новый массив.
1. Если требуется сохранять порядок элементов в массиве, то без перемещения элементов правее него никак не обойтись. - это делает алгоритм remove.
2. Если порядок элементов можно не сохранять, то нужно его обменять с последним элементом.
3. И наконец. Вместо массива нужно использовать стандартный контейнер vector.
0. Бывает и такое
0.0. Конечно нельзя физически удалить, можно как-то перегруппировать элементы и в переменную, отвечающую за размерность записать новое значение, хотя в памяти массив может занимать гораздо больше места. Речь шла не о создании нового массива, а о манипуляции со старым.
1.,2. Удаляемых элементов может быть несколько (например, удалить все нулевые элементы).
3. Хотелось бы увидеть алгоритм без классов, а чистый код.

P.S. Легче написать код, чем спорить.
Yandex
Объявления
02.08.2011, 07:40     Найти 100 первых простых чисел
Закрытая тема Создать тему
Опции темы

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