Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Alexey322
0 / 0 / 0
Регистрация: 11.03.2016
Сообщений: 18
1

Повторить последний минимальный элемент массива

11.03.2016, 08:57. Просмотров 256. Ответов 7
Метки нет (Все метки)

Дан одномерный целочисленный массив из N элементов. Повторить (вставить после или до него такой же) последний минимальный элемент массива;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2016, 08:57
Ответы с готовыми решениями:

Поменять первый максимальный и последний минимальный элемент массива
Посмотрите, пожалуйста, где тут ошибка #include <iostream> using...

Поменять местами последний положительный и минимальный элемент
Заданный массив с n чисел. Поменять местами последний положительный и...

Поменять местами последний нулевой элемент и первый минимальный
Всем доброго времени суток. Помогите пожалуйста с решением задачки. Ну ооочень...

Заменить последний положительный элемент одномерного массива на второй элемент массива
#include <string> #include"stdafx.h" #include <iostream> #include <conio.h>...

Заменить последний положительный элемент одномерного массива на второй элемент массива
Заменить последний положительный элемент одномерного массива на второй элемент...

7
hoggy
Нарушитель
Эксперт С++
7087 / 3130 / 648
Регистрация: 15.11.2014
Сообщений: 7,209
Завершенные тесты: 1
11.03.2016, 09:11 2
Цитата Сообщение от Alexey322 Посмотреть сообщение
массив
Цитата Сообщение от Alexey322 Посмотреть сообщение
вставить после или до него такой же
на языке с++ решения не существует.
0
zss
Модератор
Эксперт С++
7250 / 6699 / 4240
Регистрация: 18.12.2011
Сообщений: 17,680
Завершенные тесты: 1
11.03.2016, 11:28 3
Цитата Сообщение от hoggy Посмотреть сообщение
решения не существует
Почему это:
1. Создаем новый массив на 1 элемент длиннее.
2. Копируем в него элементы до минимального включительно
3. Копируем от минимального до конца
4. Удаляем старый массив.
5. Меняем адрес на адрес нового.

Шаблон программы
Образцы (шаблоны) программ для типовых задач
функция Work
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// пример обработки -  Повторить последний минимальный элемент массива
int* Work(int* &M,int n) // !!! Указатель передается по ссылке, т.к. адрес массива будет изменен !!!!
{
    int s=0;
    for(int i=1;i<n;i++)
    {
        if(M[s]>M[i])
            s=i;
    }
    int * tmp=new int[n+1];
    int j=0;
    for(int i=1;i<=s;i++)
       tmp[j++]=M[i];
    for(int i=s;i<n;i++)
       tmp[j++]=M[i];
    delete[] M;
    M=tmp;
    return tmp;
}
0
rikimaru2013
C++ Game Dev
2472 / 1141 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
11.03.2016, 12:02 4
Цитата Сообщение от zss Посмотреть сообщение
Почему это:
Цитата Сообщение от zss Посмотреть сообщение
Создаем новый массив
Вы же сами ответили на вопрос) По стандарту С++ размер массива известный на момент компиляции и его размер константный на протяжении всей работы программы.

1) Поэтому добавить или убрать элеммент с массива не получится - память останется прежней.
2) Результатом выполнения этого задания будет новый массив заранее подготовленный как size +1 или указатель на выделенную память, что в народе зовётся динамический массив.

Да и hoggy, просто как я понимаю приципился к слову)
Для Дан контейнер ... вставьте ... - ответ есть.
Для Дан массив ... вставьте .... - ответ не возможно.
1
zss
Модератор
Эксперт С++
7250 / 6699 / 4240
Регистрация: 18.12.2011
Сообщений: 17,680
Завершенные тесты: 1
11.03.2016, 12:23 5
rikimaru2013, Задача явно из учебных.
Посему, наверняка имелось ввиду вставка в динамический массив.
0
hoggy
Нарушитель
Эксперт С++
7087 / 3130 / 648
Регистрация: 15.11.2014
Сообщений: 7,209
Завершенные тесты: 1
11.03.2016, 20:03 6
Цитата Сообщение от zss Посмотреть сообщение
Посему, наверняка имелось ввиду вставка в динамический массив.
на языке с++ не существует динамических массивов.
0
zss
Модератор
Эксперт С++
7250 / 6699 / 4240
Регистрация: 18.12.2011
Сообщений: 17,680
Завершенные тесты: 1
11.03.2016, 21:18 7
Цитата Сообщение от hoggy Посмотреть сообщение
на языке с++ не существует динамических массивов
См.
http://cppstudio.com/post/432/
https://code-live.ru/post/cpp-dynamic-arrays/
0
hoggy
Нарушитель
Эксперт С++
7087 / 3130 / 648
Регистрация: 15.11.2014
Сообщений: 7,209
Завершенные тесты: 1
11.03.2016, 23:26 8
Цитата Сообщение от zss Посмотреть сообщение
См.
вот из-за подобных корявых допущений в обучающих материалах,
и возник миф о "динамических массивах".
0
11.03.2016, 23:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2016, 23:26

Заменить последний положительный элемент одномерного массива на второй элемент массива
Написать программу по заданию: заменить последний положительный элемент...

Заменить последний положительный элемент массива на второй элемент массива
Заменить последний положительный элемент массива на второй элемент массива. Как...

Поменять местами во всех строках последний нулевой элемент и первый минимальный
Ввести в память машины двумерный целочисленный массив, размером M*N. 3&lt;=M&lt;=10;...


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

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

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