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

Почему функция не удаляет минимальный элемент - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C++ перегрузка операторов, комплексные числа http://www.cyberforum.ru/cpp-beginners/thread579889.html
Помогите разобраться в предоставленной программе.. Сама программа(не сначала..до этого всё вроде понятно): // Вспомогательная функция...
C++ Динамический массив В динамическом массиве(одномерном или двумерном) добавить после каждого негативного элемента его модуль. http://www.cyberforum.ru/cpp-beginners/thread579888.html
Перевод из десятичной в двоичную, восьмеричную и шестнадцатиричную систему C++
Задание: написать программу которая переводит десятичное число в 2, 8 и 16 систему счисления. #include "stdafx.h" #include <iostream.h> void main() { int var, dvo, vos, she, var1, var2; ...
C++ Сортировка Шелла
Отсортировать по возрастанию динамический одномерный массив целых чисел.
C++ Подпрограммы работы с деком http://www.cyberforum.ru/cpp-beginners/thread579856.html
Здравствуйте, помогите разработать программу. Разработать подпрограммы работы с деком. Дек организован в массиве с циклическим заполнением и с использованием двунаправленного списка. Операции...
C++ Рекурсия Посчитать рекурсивно ∑ от (i=1) до n,формула n^2/(x-n) подробнее

Показать сообщение отдельно
ValeryS
Модератор
6676 / 5085 / 475
Регистрация: 14.02.2011
Сообщений: 17,057
19.05.2012, 23:43
Цитата Сообщение от Vadim8063 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
for(int i=0;i<n;i++)
 {
 if (x[n-1]==min)
 { 
 x[n-1]=0;
 n--;
 }
 }
Ты опять пишешь цикл который здесь не нужен
зачем ты уменьшаешь размер

Цитата Сообщение от Vadim8063 Посмотреть сообщение
n--;
вот так удаляется первый минимальный элемент
C++
1
2
3
4
5
6
7
8
9
10
11
12
// ищем минимум
int min=x[0];
  for(int i;i<n;i++)
      if(x[i]<min)
          min=x[i];
//удаляем 
    for(int i;i<n;i++)
        if(x[i]==min)
             {
           x[i]=0;
           break;// нашли удалили выходим из цикла
             }
вот так удаляются все
C++
1
2
3
4
5
6
7
8
9
// ищем минимум
int min=x[0];
  for(int i;i<n;i++)
      if(x[i]<min)
          min=x[i];
//удаляем 
    for(int i;i<n;i++)
        if(x[i]==min)
               x[i]=0;
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru