Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
юля2010
7 / 0 / 1
Регистрация: 06.12.2010
Сообщений: 12
#1

Удалить из массива «лишние» элементы - C++

08.12.2010, 21:15. Просмотров 1070. Ответов 4
Метки нет (Все метки)

ПОМОГИТЕ,ПОЖАЛУЙСТА...
Дан числовой массив размера N. Удалить из массива «лишние»
элементы, так чтобы оставшиеся образовывали возрастающую
последовательность.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2010, 21:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить из массива «лишние» элементы (C++):

Удалить из массива "лишние" (кроме первого) элементы - C++
#include "stdafx.h" #include<conio.h> #include<stdio.h> #include<iostream> #include<iomanip> using namespace std; /*...

Массив: Удалить в заданном массиве действительных чисел «лишние» (кроме первого) элементы - C++
Удалить в заданном массиве действительных чисел «лишние» (кроме первого) элементы так, чтобы оставшиеся образовывали возрастающую...

Описать процедуру RemoveForInc(A, N), удаляющую из веществен- ного массива A размера N «лишние» элементы - C++
Описать процедуру RemoveForInc(A, N), удаляющую из веществен- ного массива A размера N «лишние» элементы так, чтобы оставшиеся элементы...

Удалить из массива, в котором все элементы различны, максимальный и минимальный элементы - C++
Удалить из массива, в котором все элементы различны: а) максимальный элемент б) минимальный элемент Добавлено через 4 минуты ...

Из целочисленного массива Х все четные элементы записать в массив Y. Удалить в массивах максимальные элементы - C++
Из целочисленного массива Х(N) все четные элементы записать в массив Y(k). Удалить в массивах максимальные элементы. В программе написать...

если массив не является знакочередующимся,то удалить из массива все положительные числа,в противном случае-удалить отрицательные элементы.после удален - C++
задан массив Х целых чисел. если массив не является знакочередующимся,то удалить из массива все положительные числа,в противном...

4
TheMachinist
244 / 176 / 15
Регистрация: 14.06.2010
Сообщений: 422
08.12.2010, 21:41 #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
#include <iostream>
using namespace std;
 
int main()
{
    const int N = 10;
    int Arr[N] = {2,5,3,6,1,7,4,8,5,10};
for(int i = 0;i < N;i++)
cout << Arr[i] << " ";
 
    int * p1 = Arr, *p2 = Arr;
    int count = 0;
cout << endl << *p1 << " ";
    
    while(count < N)
    {
count++;
        p1++;
        if(*p1 > *p2) cout << *p1 << " ";
        p2++;
    }
    
    
        _getch();
}
0
valeriikozlov
Эксперт С++
4673 / 2499 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.12.2010, 21:49 #3
Тут задача немного сложнее чем кажется на первый взгляд.
TheMachinist, Ваш алгоритм работает только для Вашего массива, а если взять массив:
int Arr[N] = {2,5,1,2,3,7,4,8,5,10}; то уже не сработает.
Но дело даже не в этом, для одного и того же массива можно вывести много разных вариантов (различающихся как по номиналам элементов так и по их количеству).
0
юля2010
7 / 0 / 1
Регистрация: 06.12.2010
Сообщений: 12
09.12.2010, 09:57  [ТС] #4
спасибо))

Добавлено через 10 минут
это с++?мне надо просто си...
0
TheMachinist
244 / 176 / 15
Регистрация: 14.06.2010
Сообщений: 422
09.12.2010, 10:32 #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<conio.h>
 
int main()
{
        const int N = 10;
        int Arr[N] = {2,5,3,6,1,7,4,8,5,10};
for(int i = 0;i < N;i++)
printf("%d ",Arr[i]);
 
printf("\n");
 
        int * p1 = Arr, *p2 = Arr;
        int count = 0;
printf("%d ",*p1);
        
        while(count < N)
        {
count++;
                p1++;
                if(*p1 > *p2) printf("%d ",*p1) ;
                p2++;
        }
        
        
        _getch();
}
Ваш алгоритм работает только для Вашего массива, а если взять массив:
int Arr[N] = {2,5,1,2,3,7,4,8,5,10}; то уже не сработает
Я просто изобразил как это примерно должно быть
дальше Юля сама решит от какого элемента отталкиваться
0
09.12.2010, 10:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2010, 10:32
Привет! Вот еще темы с ответами:

Удалить из массива все элементы, расположенные перед максимальным элементом массива - C++
Задан целочисленный массив размера N. Удалить из массива все элементы, расположенные перед максимальным элементом массива. Под удалением...

Удалить элементы массива равные максимальному элементу этого массива - C++
Доброго времени суток! Боюсь показаться глупым, но у меня возникли проблемы с удалением элемента из динамического массива. Задание звучит...

Удалить из исходного массива три первых элемента, сдвигая элементы массива, напечатать их значения - C++
Помогите с созданием программы, которая выполняет следующие действия: 1) Одномерный массив из 10 элементов целого типа в диапазоне ; ...

Удалить из массива A[N] вс отрицательные элементы.Удаление отрицательных элементов массива оформить в виде функции - C++
Что исправить? #include &lt;stdio.h&gt; #define N 10 int udalenie(int A,int k ) { int i; for(i=k;i&lt;N;i++)


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru