|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.05.2017, 12:33 | #1 |
Пользователь
Регистрация: 24.02.2017
Сообщений: 32
|
Не получается удалить минимальный элемент в массиве и вывести новый. Как сделать это?
[CODE]:
#include "stdafx.h" #include <iostream> #include <locale> using namespace std; int main() { setlocale( LC_ALL,"Russian" ); cout << "Введите размерность:" ; int n; cin>>n; int *a=new int[n]; cout <<"Исходный массив: \n"; for (int i=0;i<n;i++) { a[i]=rand()%40-20 ; cout<<" "<<a[i]; } int min=a[0]; for (int i=0;i<n;i++) { if ( a[i]<a[0]) min=a[i]; } cout <<"\nМинимальный элемент массива: "<<min; cout <<"Новый массив: \n"; for (int i=0;i<n;i++) { if (a[i]==min); delete(a[i]); } for (int i=0;i<n;i++) cout<<" "<<a[i]; cout<<"\n "; system ("pause"); } |
09.05.2017, 08:42 | #2 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 744
|
- вот здесь ошибка. Нужно писать так:
if(a[i] < min) min = a[i];
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
09.05.2017, 08:52 | #3 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 744
|
- вот это по-моему не проканает. delete только можно удалить весь массив, написав так:
delete[] a; Но делать это нужно в конце программы, а не в середине. Короче у Вас неправильно написано. Чтобы удалить минимальный элемент нужно: 1) Сохранить его номер при поиске минимального элемента; 2) Потом просто занулить его(можно и не занулять, я это только щас понял); 3) Сдвинуть элементы правее этого элемента на 1 влево; Дальше есть варианты: 4.1) Либо создать новый мнимый размер массива на 1 меньше оригинального; 4.2) Либо пересоздать массив, для этого нужно создать новый массив, потом переписать элементы из старого в новый и удалить старый массив и все!!!!!
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заменить первый минимальный четный элемент в двумерном массиве - C++ | ggjgj | Общие вопросы C/C++ | 8 | 08.11.2016 18:00 |
Вычислить минимальный элемент массива(вернусь ссылку на него ), заменить этой суммой минимальный элемент | mari_ly | Общие вопросы C/C++ | 1 | 30.03.2016 16:31 |
Найти минимальный элемент в массиве. C++ | asdf_7 | Помощь студентам | 1 | 09.12.2014 20:11 |
Ввести массив с клавиатуры. В полученном массиве найти минимальный элемент. Вывести его на экран | ok57 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 9 | 17.05.2013 05:07 |
Минимальный элемент в массиве (Visual C++) | Афанасий[vedma] | Помощь студентам | 1 | 29.11.2011 17:13 |