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

Найти наименьшее натуральное число отсутствующее в последовательности - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатели на массив объектов http://www.cyberforum.ru/cpp-beginners/thread16873.html
здравствуйте! есть такой код: #include <cstdlib> #include <iostream> using namespace std; class samp {
C++ Нужны полные таблицы кодировок Очень нужны полные таблицы кодировок cp866_dos, win1251, koi-8, unicode, если есть у кого, дайте плиз Заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread16861.html
C++ Вхождение буквы в строку
Дана строка М и символ А.Составить программу коорая подсчитает количество вхождений буквы в строку. #include<iostream.h> #include<conio.h> #include<math.h> #include<string.h> int main() {int...
Проверка на симметричность слова C++
void main() { char line; printf("vvedite stroku\n"); scanf("%s",line); for (int i=strlen(line)-1,j=0; i!=strlen(line)/2; i--,j++) if (line != line) printf("ne palindrom\n"); else...
C++ Работа со строками на Turbo C http://www.cyberforum.ru/cpp-beginners/thread16847.html
Помогите решить задачу на Turbo C! Найти в тексте все слова со спаренными согласными(например, это слова программирование, add, accomodation). Что,никто не знает?
C++ Матрицы на Turbo C Помогите написать задачу на Turbo C! Задача: В заданной прямоугольной матрице найти в последнем ряду первый отрицательный элемент.Все элементы столбца, где найден этот отрицательный элемент,... подробнее

Показать сообщение отдельно
Helen
1 / 1 / 0
Регистрация: 23.10.2008
Сообщений: 13
27.11.2008, 21:42
Последовательность упорядоченная или нет? Из последнего сообщения я так поняла что да, если числа увеличиваются с интервалом в единицу, просто в определенный момент какое-то число пропускается. Если так, то можно написать:
C++
1
2
3
4
5
6
7
8
9
10
int A[n];  //исходная последовательность
int Min = 0;   //минимальное пропущенное число
for(int i = 0; i < n-1; i++)
{
    if((A[i+1] - A[i]) > 1)
    {
          Min = A[i]+1;
          break;
    }  
}
Добавлено через 14 минут 25 секунд
Если последовательность неупорядоченная, то сначала ищешь минимальный элемент последовательности, а потом юзаешь указанный выше алгоритм.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int A[n];   //исходник
int BoolArr[n];   //массив регистраций
int MinArr = 0; // минимальный существующий элемент
int Min = 0;    //минимальный пропущенный элемент 
 
for(int i = 0; i < n; i++)
     if(A[i] < MinArr)
          MinArr = A[i];
 
ZeroMemory(BoolArr, n);  //почистили массив
for(int i = 0; i < n; i++)
    BoolArr[A[i] - MinArr] = true;
int j = 0;
while(BoolArr[j])
    j++;
Min = j + MinArr;   //вышли из while - Значит наткнулись на мин. пропущ. число
                         //j-его номер, добавляем смещение в виде мимального существующего числа, получаем искомое пропущенное
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru