Форум программистов, компьютерный форум CyberForum.ru

Удалить из массива максимальный и минимальный элемент - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Квадратная матрица http://www.cyberforum.ru/cpp-beginners/thread1035045.html
Дана квадратная матрица А nxn. Вычислить сумму элементов матрицы расположенных выше главной диагонали.
C++ Написать программку "Разветвляющие алгоритмы" Даны действительные величины a, b, c. На плоскости задано уравнение прямой ax+by=c . Найти точки пересечения этой прямой с осями координат. Обратить внимание на возможность случаев, когда прямая параллельна одной из осей координат (a = 0 или b = 0 ). Исходные данные и полученные результаты вывести на печать http://www.cyberforum.ru/cpp-beginners/thread1035039.html
Создать динамический массив объектов, инициализировать его. Организовать поиск элемента в массиве по заданному значению C++
Создать динамический массив объектов, инициализировать его. Организовать поиск элемента в массиве по заданному значению. Создать иерархии наследования: человек - студент, сотрудник - практикант.
C++ Календарь С++, вывод по строкам
Задание: На вход подается год и количество столбцов, в которые нужно вывести календарь. У меня получается только в 1 столбец, и еще проблема, выводит 8 дней в неделю. С нетерпением жду вашей помощи, заранее спасибо^^. Вот мой код. "Date.h" #ifndef _DATE__H #define _DATE__H #include <time.h>
C++ Создать динамический массив объектов, инициализировать его http://www.cyberforum.ru/cpp-beginners/thread1035033.html
Создать динамический массив объектов, инициализировать его. Организовать поиск элемента в массиве по заданному значению. Создать иерархии наследования: студент, сотрудник - практикант.
C++ Работа с файлами Дан файл f, содержащий сведения о веществах: указывается название вещества, его удельный вес и проводимость (проводника, полупроводник, изолятор). Найти удельные веса и названия всех полупроводников. Добавлено через 11 минут Вот написал программу, но она работает не совсем правильно. Если в списке все проводники то она выводит их нормально, но если в списке не проводники, то программа выводит... подробнее

Показать сообщение отдельно
Jack Wade
61 / 34 / 6
Регистрация: 24.02.2013
Сообщений: 250
09.12.2013, 22:19     Удалить из массива максимальный и минимальный элемент
В массиве удалить элемент-невозможно. Можно просто тупо его скрыть от просмотра.
В краце-код будет примерно следующий:
Кликните здесь для просмотра всего текста

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
#include <cstdio>//stdio.h
 
int mas[100];
int kol=0;
int max=0;
int _n_max=0;
int min=0;
int _n_min=0;
 
int main(void)
{
scanf("%d", &kol);
for (int i=0; i<kol; i++)
scanf("%d", &mas[i]);
max=mas[0];
min=mas[0];
for (int i=0; i<kol; i++)
{
if (mas[i]>max) { max=mas[i]; _n_max=i; }
if (mas[i]<min) { min=mas[i]; _n_min=i; }
}
//А теперь удаляем
for (int i=_n_max; i<kol-1; i++)
mas[i]=mas[i+1];
kol--;
for (int i=_n_min; i<kol-1; i++)
mas[i]=mas[i+1];
kol--;
for (int i=0; i<kol; i++) printf("%d\n", mas[i]);
_gettch();
return 0;
}

Ну, как то так...
Суть такова:
Я находил сразу и макс. число и минимальное, а так же, сразу искал и номер в массиве этих чисел. И сразу объявлял цикл от этих номеров до размерности массива-1(т.к. удаляем 1 элемент). После чего, в цикле было mas[i]=mas[i+1](т.е. этот элемент равен следующему). И так и для макс. числа, и для мин. числа.
Просто, почему я ещё использовал 2 переменные для хранения номера элемента? Просто, дабы не использовать ещё один цикл, в котором буду сравнивать все числа со всем массивом, а сразу "удалить" уже найденный элемент.
По сути-всё.
 
Текущее время: 08:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru