Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 25.05.2020
Сообщений: 6
1

Функция которая все четные компоненты вектора уменьшает в 2 раза

28.06.2020, 12:30. Показов 1747. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, заканчиваю первый курс, завтра последний экзамен, но остались некоторые задачи, которые не могу решить самостоятельно.
Условие:
Дано: X(M), Y(N). Вектор, имеющий наибольшее количество различных компонент преобразовать по правилу: все четные компоненты разделить на 2. Задания необходимо решать с использованием функций. Функции должны нести в себе смысловую нагрузку

Совсем не понимаю, как находить уникальные элементы массива. На ум приходит только сравнение соседних элементов:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for (int i = 0; i<M; i++)
    {
            if (X[i] == X[i+1])
            {
                p++;
            
        }
    }
    
    for (int i = 0; i<M; i++)
    {
 
            if (Y[i] == Y[i+1])
            {
                c++;
            }
        
    }
Еще непонятно "все четные компоненты разделить на 2". Сами элементы массива должны быть четными или их нумерация? Если во втором случае, то является ли 0 четным числом?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.06.2020, 12:30
Ответы с готовыми решениями:

Функция, которая уменьшает все элементы числового списка на заданное значение
Помогите пожалуйста описать на языке Prolog функцию, которая уменьшает все элементы числового...

Составить программу, которая уменьшает первое введённое число в два раза
Составить программу, которая уменьшает первое введённое число в два раза, если оно больше второго...

Составить программу, которая уменьшает первое введенное число в два раза
Составить программу, которая уменьшает первое введенное число в два раза, если оно больше второго...

Составить программу, которая уменьшает первое введённое число в два раза
Составить программу, которая уменьшает первое введённое число в два раза, если оно больше второго...

2
317 / 114 / 37
Регистрация: 26.11.2019
Сообщений: 735
28.06.2020, 12:37 2
В зависимости от размера элементов массива, но самый простой и быстрый способ - это ассоциативный контейнер(не пугайтесь) просто пишите map <int, int> mp;
и теперь в map с именем mp можно класть любые элементы типа int, то есть mp[x] = 1; - будет считать, что такая запись делает флаг, что мы уже встречали данное число
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
28.06.2020, 14:35 3
Лучший ответ Сообщение было отмечено Mist как решение

Решение

Цитата Сообщение от Mist Посмотреть сообщение
Сами элементы массива должны быть четными или их нумерация?
сами элементы
Цитата Сообщение от Mist Посмотреть сообщение
является ли 0 четным числом?
да
Цитата Сообщение от Mist Посмотреть сообщение
Совсем не понимаю, как находить уникальные элементы массива.
различные элементы массива
C++
1
2
3
4
5
6
7
8
9
 int k, count=0;
    for (int i = 0; i < n; i++)
    {
        k=0;
        for(int j = i+1; j < n; j++)        
            if (a[i]==a[j]) {k=1;break;}
        if (k==0) count++;        
    }
    cout << "count=" << count << "\n";
так получите выход за границы массива при i=M-1
Цитата Сообщение от Mist Посмотреть сообщение
for (int i = 0; i<M; i++)
    {
            if (X[i] == X[i+1])
1
28.06.2020, 14:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.06.2020, 14:35
Помогаю со студенческими работами здесь

Составить программу, которая уменьшает первое введенное число в два раза
Составить программу, которая уменьшает первое введенное число в два раза, если оно больше второго...

Составить программу, которая уменьшает первое введенное число в два раза
Составить программу, которая уменьшает первое введенное число в два раза, если оно больше второго...

Упорядочить компоненты вектора так, чтобы сначала размещались все отрицательные компоненты, затем все положительные
Дан вектор А(а1,а2,...,а100). Упорядочить компоненты вектора так, чтобы сначала размещались все...

Упорядочить компоненты вектора так, чтобы сначала размещались все отрицательные компоненты, затем все положительные, а потом нулевые.
Здравствуйте. Помогите пожалуйста составить программы на паскале: 1.Дан вектор А(а1,а2,...,а100)....

Разработать функцию f(x), которая нечётное число заменяет на 0, а чётное число уменьшает в 2 раза
Помогите составить функцию на языке программирования С++ Разработать функцию f(x), которая...

Составить программу, которая уменьшает первое введенное число в два раза, если оно больше второго введенного числа по абсолютной величине.
Составить программу, которая уменьшает первое введенное число в два раза, если оно больше второго...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru