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

Удалить каждый 3-ий элемент массива

21.03.2020, 16:53. Показов 4892. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Помогите решить задачу.
Дан одномерный, динамический массив. Нужно удалить каждый 3-ий элемент массива и сдвинуть его влево.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2020, 16:53
Ответы с готовыми решениями:

Удалить каждый K элемент массива пока не останется 1 элемент
Есть задача удалить каждый K элемент массива пока не останется 1 уцелевший. Вот пример ...

Найти средний по величине элемент в множестве элементов массива, в которое входит каждый третий элемент массива
Есть массив из 100 рандомных элементов Нужно найти средний по величине элемент в множестве...

Задача Иосифа Флавия. Удалить каждый второй элемент из списка и в конце вывести на экран последний оставшийся элемент
Создать циклический список, в котором находятся элементы от 1 до N. Нужно написать программу,...

В массиве удалить каждый K-тый элемент
Здравствуйте. Хочу решить следующую задачу: Из одномерного массива удалить каждый К-тый элемент. ...

3
Модератор
Эксперт С++
13505 / 10756 / 6411
Регистрация: 18.12.2011
Сообщений: 28,712
21.03.2020, 17:35 2
Лучший ответ Сообщение было отмечено leen_q как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
int Remove3(int* src,int* res,int n)
{
     int k=0;
     for(int i=0;i<n;i++)
     {
           if(i%3!=2)
              res[k++]=src[i];
     }
     return k; // Количество элементов в новом массиве
}
В остальной части пользуйтесь
Образцы (шаблоны) программ для типовых задач
1
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
21.03.2020, 18:56 3
Лучший ответ Сообщение было отмечено leen_q как решение

Решение

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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));
    int n, m, p=0;
    cout << "n="; cin >> n;
 
    double *a = new double[n];
 
    for (int i = 0; i < n; i++)
    {
        a[i]=0.1*(rand()%100);        
        cout << a[i] << "  ";
    }
    cout << "\n";
    
    m=n-n/3;
       
    double *tmp = new double[m];
    
    for (int i = 0; i < n; i++)
        if(i%3!=2) tmp[p++]=a[i];
        
    delete[]a;
    
    a=tmp;
    
    for (int i = 0; i < m; i++)        
        cout << a[i] << "  ";    
    cout << "\n";
    
    delete[]tmp;
system("pause");
return 0;
}
1
0 / 0 / 0
Регистрация: 05.03.2020
Сообщений: 9
21.03.2020, 23:56  [ТС] 4
Спасибо большое! Разобрался.
0
21.03.2020, 23:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2020, 23:56
Помогаю со студенческими работами здесь

Удалить каждый второй элемент стека
Нужно создать стек и удалить каждый второй его элемент.

Удалить каждый второй элемент стека
Заполнить стек значениями произвольно выбранного типа. Удалить каждый второй элемент стека. Есть...

Функция: удалить из списка каждый N-ый элемент
В составе программы описать функцию, которая удаляет из списка каждый N элемент.

Удалить с очереди каждый второй элемент
Помогите пожалуйста, реализовать программу на С++ , мое задание: ознакомится с созданием и...


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

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