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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ C++ перегрузка операторов, комплексные числа http://www.cyberforum.ru/cpp-beginners/thread579889.html
Помогите разобраться в предоставленной программе.. Сама программа(не сначала..до этого всё вроде понятно): // Вспомогательная функция //------------------------------------------------------------------------------ template <class TVal> void Rand(TVal *i) { *i = (random(20)-10)/10.0; };
C++ Динамический массив В динамическом массиве(одномерном или двумерном) добавить после каждого негативного элемента его модуль. http://www.cyberforum.ru/cpp-beginners/thread579888.html
C++/CLI WinForms Как сделать в программе задержку между кликом по кнопке и выполнением определенного кода
Здравствуйте! подскажите пожалуйста как сделать чтоб при нажатии на кнопку в progressbar отсчитывалось 20сек а потом в textbox выводилось слово?? #pragma once namespace Restoration { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms;
Перевод из десятичной в двоичную, восьмеричную и шестнадцатиричную систему C++
Задание: написать программу которая переводит десятичное число в 2, 8 и 16 систему счисления. #include "stdafx.h" #include <iostream.h> void main() { int var, dvo, vos, she, var1, var2; cout << "Vvedite chislo v desyatichnoi sisteme: ";
C++ Сортировка Шелла http://www.cyberforum.ru/cpp-beginners/thread579858.html
Отсортировать по возрастанию динамический одномерный массив целых чисел.
C++ Подпрограммы работы с деком Здравствуйте, помогите разработать программу. Разработать подпрограммы работы с деком. Дек организован в массиве с циклическим заполнением и с использованием двунаправленного списка. Операции выполняются с разных концов дека.Для организации указанных структур использовать массивы или списки. подробнее

Показать сообщение отдельно
ValeryS
Модератор
6412 / 4878 / 447
Регистрация: 14.02.2011
Сообщений: 16,171
19.05.2012, 23:16     Почему функция не удаляет минимальный элемент
Цитата Сообщение от Vadim8063 Посмотреть сообщение
Удаляет минимальный элемент...
хотелось бы верить
и так алгоритм своего цикла ты рассказать не можешь.
тогда я расскажу
твой цикл
Цитата Сообщение от Vadim8063 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
for(int i=0;i<n;i++)\
 {
 if (*(x+i)==min)
 {if (i==(n-1))
 {
 *(x+i)=NULL;
 n--;
break;
 }
 }
 }
}
перепишем более понятным языком
C++
1
2
3
4
5
6
7
8
9
 for(int i=0;i<n;i++)
    {
        if ((x[i]==min  && i==(n-1))
        {
            x[i]=NULL;
            n--;
           break;
         }
    }
и сразу станет видно что в блок if мы заходим только на последнем элементе и если он минимален
соответственно break здесь лишний
я тебе больше скажу и цикл здесь лишний
все что он делает описывается тремя строками
C++
1
2
3
4
5
  if  (x[n-1]==min)
           {  
            x[n-1]=NULL;
            n--;
             }
Добавлено через 1 минуту
Цитата Сообщение от Vadim8063 Посмотреть сообщение
Ну по крайней мере должен удалять...
и изменять размер массива

Добавлено через 1 минуту
и сильно подозреваю что тебе нужен не NULL а 0
 
Текущее время: 11:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru