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

Сформировать массив Y, куда записать номера элементов массива X - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ крестик-нолик-условие ничьи http://www.cyberforum.ru/cpp-beginners/thread198288.html
как написать условие ничьи для игры крестики нолики? Если рассмотреть доску как матрицу,то я смог написать условие только для самого первого элемента if(x!=x && x!=x && x!=x) { cout<<"ничья!"<<endl; return 1; } то есть проверяет,если справа,снизу и по диагонали нету похожее число(я вместо Х пишу 1 вместо 0 пишу 2) то выводит на экран НИЧЬЯ
C++ Есть вопрос по WinApi Напишу сюда, так как в этом топике много людей, может кто знает WinApi и распаковщик сообщений, может кто подскажет по этой теме http://www.cyberforum.ru/win-api/thread198215.html http://www.cyberforum.ru/cpp-beginners/thread198287.html
C++ создать массив который состоит из милион элементов
Можно ли в С++ создать массив который состоит из милион элементов. И если можно то как.
C++ Сортировка методом Шелла
Сначала сравниваются и сортируются между собой ключи которые стоят на расстоянии d друг от друга,после этого процедура повторяется для некоторых меньших значений d, а заканчивается сортировка Шелла упорядочиванием элементов при d=1. Ребят, помогите разобраться. я в этом дуб дерево хвойное, а на завтра мне надо сдать КР.. Зарание спасибо Я выдрал код из википедии но при запуске вылетает...
C++ одномерные массивы (. Отсортировать массив из N символов в невозрастающем порядке с помошью сортировки прямым обменом.) http://www.cyberforum.ru/cpp-beginners/thread198257.html
. Отсортировать массив из N символов в невозрастающем порядке с помощью сортировки прямым обменом. (заранее спасибо)
C++ Оллимпиадное задание Задание. Тестирование студентов по некоторой дисциплине. Программа предлагает пользователю ответить на определенное количество вопросов (не менее 10). Каждый вопрос включает несколько вариантов ответа (не менее 4-х). Программа последовательно предъявляет пользователю вопросы и варианты ответов и ожидает ввода от пользователя выбранного варианта. В конце программа отображает процент правильных... подробнее

Показать сообщение отдельно
Vorox
 Аватар для Vorox
25 / 24 / 3
Регистрация: 26.11.2010
Сообщений: 57
27.11.2010, 19:12     Сформировать массив Y, куда записать номера элементов массива X
Цитата Сообщение от 1small1 Посмотреть сообщение
Задан массив целых положительных чисел Х
Каким образом мы задаем массив(чтение из файла/ввод с клавиатуры/случайным образом/статически)?

Добавлено через 19 часов 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
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
#include <iostream>
#include <conio.h>
using namespace std;
bool is_prime(int n);
long int PerfectNumber(long int m);
int main()
{
    setlocale(LC_ALL,"Russian");
    cout<<"Введите ко-во элементов массива = ";
    int n;
    cin>>n;
    
    long int *x=new long int[n];
    cout<<"Введите элементы массива через <Enter>:\n";
    int m=0;
    for(int i=0;i<n;i++) 
    {
        cin>>x[i];
        if(is_prime(x[i])) m++; //m - определяем размер массива Y
    }
    
    int *y=new int[m];
    int k=0;
    for(int i=0;i<n;i++)
    {
        if(is_prime(x[i]))
        {
            y[k]=i; //присваиваем индекс элемента массива Х содержащий
                    //простое число в массив У 
            k++;
        }
    }
    k=0;
    for(int i=0;i<n;i++) if(x[i]==PerfectNumber(x[i])) k++;
    cout<<"\nКол-во совершенных чисел в массиве Х = "<<k<<endl;
    if(m==0)
        cout<<"В массиве X нет простых чисел.";
    else
    {
        cout<<"\nМассив Y:\n";
        for(int i=0;i<m;i++) cout<<y[i]<<" "; //т.к. нумерация массива идет с 0, то если нужно чтобы
                                                // она была с 1 - y[i]+1
    }
 
    delete []x;
    delete []y;
    getch();
    return 0;
}
bool is_prime(int n) //функия определяющая простое число или нет(взято с википедии)
{
    if (n < 2) return false;
    if (n == 2) return true;
    if (n % 2 == 0) return false;
    for (int j = 3; j * j <= n; j += 2)
         if (n % j == 0) return false;
    return true;
}
long int PerfectNumber(long int m) //функция возвращающая сумму делителей числа
{
    long int s=1;
    for(int i=2;i<=m/2;i++)
        if(m%i==0) s+=i;
    return s;
}
 
Текущее время: 22:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru