Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
2 / 2 / 2
Регистрация: 02.12.2013
Сообщений: 175
1

Удалить из массива все элементы, расположенные перед максимальным элементом массива

02.07.2015, 16:51. Показов 2164. Ответов 5
Метки нет (Все метки)

Задан целочисленный массив размера N. Удалить из массива все элементы, расположенные перед максимальным элементом массива.
Под удалением элементов из массива следует понимать изменение размера массива посредством изменения переменной, хранящей размер массива (например, n), а не создание нового массива.

Добавлено через 5 часов 31 минуту
// актуальна
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.07.2015, 16:51
Ответы с готовыми решениями:

Удалить все элементы массива расположенные между максимальным и минимальным элементами
в целочисленном массиве X(N) удалить все элементы, расположенные между максимальным и минимальным...

Удалить все элементы, расположенные между минимальным и максимальным элементами массива
Дан линейный массив из n элементов. Удалить все элементы, расположенных между минимальным и...

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

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

5
193 / 100 / 131
Регистрация: 23.06.2015
Сообщений: 249
02.07.2015, 17:14 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
#include <string.h>
 
int GetMaxElement(int *arr, int first, int last)
{
    if (first == last) return last;
    int *largest = arr + first;
    int *pfirst = arr + first;
    int *plast = arr + last;
 
    while (++pfirst != plast)
        if (*largest < *pfirst)    
            largest = pfirst;
    return largest - arr;
}
 
int main()
{
    //Ввод массива...
        //arr - заданный массив, N - размер заданного массива
 
    int iMaxPos = GetMaxElement(arr, 0, N);
    N -= iMaxPos;
 
    if(iMaxPos != 0)
        memcpy(arr, arr + iMaxPos, N * sizeof(int));
    
    //Вывод массива...
 
    return 0;
}
0
2 / 2 / 2
Регистрация: 02.12.2013
Сообщений: 175
02.07.2015, 19:31  [ТС] 3
Cuellius, а можно вместе с вводом и выводом массива?
0
193 / 100 / 131
Регистрация: 23.06.2015
Сообщений: 249
02.07.2015, 19:40 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
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int GetMaxElement(int *arr, int first, int last)
{
    if (first == last) return last;
    int *largest = arr + first;
    int *pfirst = arr + first;
    int *plast = arr + last;
 
    while (++pfirst != plast)
        if (*largest < *pfirst)    
            largest = pfirst;
    return largest - arr;
}
 
int main()
{
    int N, i;
    scanf("%d", &N);
    int *arr = (int*)malloc(N * sizeof(int));
    for(i = 0; i < N; i++)
    {
        scanf("%d", &arr[i]);
    }
 
    int iMaxPos = GetMaxElement(arr, 0, N);
    N -= iMaxPos;
 
    if(iMaxPos != 0)
        memcpy(arr, arr + iMaxPos, N * sizeof(int));
    
    for(i = 0; i < N; i++)
    {
        printf("%d ", arr[i]);
    }
    printf("\n");
    
    free(arr);
 
    return 0;
}
1
2 / 2 / 2
Регистрация: 02.12.2013
Сообщений: 175
02.07.2015, 19:50  [ТС] 5
Cuellius, спасибо большое!

Добавлено через 5 минут
Cuellius, только почему еще удаляет последний элемент массива?
0
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 291
02.07.2015, 19:57 6
mashka4190, исправь
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.07.2015, 19:57

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

Удалить все элементы массива, расположенные перед последним символом пробела
Помогите срочно составить задачки:1) дан символьный файл, содержащий по крайней мере один символ...

Массив: Все элементы с четными номерами перед первым максимальным элементом массива умножить на это значение.
Дано натуральное число n и массив вещественных чисел a . Все элементы массива с четными номерами,...

Расположите в обратном порядке элементы массива, которые расположены перед максимальным элементом массива.
Дан одномерный числовой массив размера K, значения элементов в котором различны. Расположите в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru