Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/33: Рейтинг темы: голосов - 33, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 27

Найти недостающие число

21.07.2012, 16:23. Показов 6733. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите, пожалуйста, решить такую задачу.
Есть последовательность порядковых чисел, к примеру, от 1 до 5.
Как из последовательности чисел найти недостающие число.

Например 1,2,4,5
и должно вывести 3
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.07.2012, 16:23
Ответы с готовыми решениями:

Есть программа, выводящая недостающие цифры, введенные с клавиатуры, дополнить ее чтобы она также выводила, недостающие латинские буквы
Есть программа, выводящая недостающие цифры, введенные с клавиатуры, дополнить ее чтобы она также выводила, недостающие латинские...

Найти эти недостающие числа и занести в массив Б.
Есть 2 массива A и B. Массив А состоит из 9 элементов, каждый элемент - число от 1 до 9, причем числа не повторются. Некоторые числа...

На барабан радиусом R намотан шнур.Найти недостающие величины.
На барабан радиусом R намотан шнур, к концу которого привязан груз массой m1. До начала движения высота груза на полом h, за время груз...

27
Исследователь
 Аватар для Jallik Lich
196 / 175 / 13
Регистрация: 30.10.2011
Сообщений: 605
Записей в блоге: 7
21.07.2012, 16:31
Если последовательность всегда начинается с 1 до n - то можно сделать массив правильных чисел и методом сравнения найти недостающее...
Более универсальный алгоритм будет, если разницу между соседними числами последовательности... Тоесть в Вашем примере: 2 - 1 = 1, 4 - 2 != 1, 5 - 4 = 1; - значит недостающее число между 2-ым и 3-им числом...
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 27
21.07.2012, 16:55  [ТС]
Я тоже так думал с начало сделать а потом оказалось что может быть и рандомно. Вот в этом у меня и загвоздка
0
 Аватар для Денис Н.
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
21.07.2012, 16:57
Цитата Сообщение от CreaZo Посмотреть сообщение
что может быть и рандомно
Всмысле рандомно? Закон должен быть, иначе смысла нет
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 27
21.07.2012, 17:04  [ТС]
Объясню по другому чуть чуть)))
Массив в нем всегда 5 цифр. 1-5. они могут располагаться по разному типо 2,1,3,5,4 и т.д иногда попадаются массивы с одной недостающей или 2 как найти мне мне недостающие цифры.
Пример.
вот я получил массив 1,4,2 мне надо найти 3,5.
Можно было использовать if{}else. но код большой получился в строк 10 у меня если кто знает как можно меньше с удовольствием посмотрю на код))
0
 Аватар для Денис Н.
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
21.07.2012, 17:10
а числа от 1 до 5 или тоже рандом?

Добавлено через 4 минуты
Если числа фиксированы, то самое короткое, на мой взгляд, вот:
PHP
1
2
3
$numbers = array(1,2,4,5);
$numbers2 = array(1,2,3,4,5);
print_r(array_diff($numbers2, $numbers));
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 27
21.07.2012, 17:11  [ТС]
Денис Н., Они могут быть не по порядку
0
 Аватар для Денис Н.
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
21.07.2012, 17:13
Не важно, главное, чтобы числовой набор был фиксирован

Добавлено через 16 секунд
вот что я имел ввиду
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
21.07.2012, 17:13
Цитата Сообщение от CreaZo Посмотреть сообщение
Денис Н., Они могут быть не по порядку
и что? он выведет недостающие в другом массиве
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
21.07.2012, 17:18
Цитата Сообщение от KOPOJI Посмотреть сообщение
и что? он выведет недостающие в другом массиве
Так это сделать и надо)
PHP
1
2
3
4
5
6
7
// В это массиве содержатся все цифры, которые могут быть в рандомно-формируемом
$numbers = array(1,2,4,5);
 
// А это рандомный массив
$numbers2 = array(1,2,3,4,5);
 
print_r(array_diff($numbers2, $numbers));
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
21.07.2012, 17:22
Цитата Сообщение от Lyodik Посмотреть сообщение
Так это сделать и надо)
да я знаю) выше уже написали этот пример)
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
21.07.2012, 17:25
Цитата Сообщение от KOPOJI Посмотреть сообщение
выше уже написали этот пример)

Не по теме:

Ну да, я его просто прокомментировал :)

0
239 / 236 / 43
Регистрация: 16.03.2011
Сообщений: 750
21.07.2012, 19:42
2 способ:
PHP
1
2
3
4
5
6
7
$array=array(9,4,5,2,7,1);
$array_r=range(min($array),max($array));
for($i=0;$i<count($array_r);++$i){
if(!in_array($array_r[$i],$array)){
    echo '<br>Не хватает числа: '.$array_r[$i];
}
}
0
Рождён удивлять
53 / 56 / 9
Регистрация: 08.08.2011
Сообщений: 438
22.07.2012, 01:24
для начала нужно отсортировать массив по возрастаннию а потом можно сделать проверку в цыкле
типо перебираем массив и делаем проверки если второе число = первое число+1 тогда идем дальше если это не равно тогда делаем переменную которая равна первое число +1 или если третее число не равно третьему числу +1 тогда выводим переменную которая равна третье число +1
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.07.2012, 03:04
ага.. только такая проверка заканчивается последовательностью $arr = array(1,2,2,4,3) к примеру
0
 Аватар для Денис Н.
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
22.07.2012, 13:55
Цитата Сообщение от vixa Посмотреть сообщение
если третее число не равно третьему числу +1
Чтобы третье число стало равно увеличенному на единицу третьему числу, должна произойти как минимум революция
0
 Аватар для GPV091
3 / 3 / 1
Регистрация: 15.07.2012
Сообщений: 55
22.07.2012, 22:08
Ну если отталкиваться от модели на 5 чисел, то вот как вариант:

PHP
1
2
3
4
5
6
7
8
9
10
11
$mas = array (3,1,4);
$standart= array (1,2,3,4,5);
for ($i=0; $i<5; $i++) {
    if (!in_array($standart[$i], $mas)) {
        $res[] = $standart[$i];
    }
}
echo "Недостающие элементы: ";
foreach ($res as $value) {
    echo $value." ";
}
Результатом будет строка:
Недостающие элементы: 2 5
Ну естественно, это можно переделать на больший диапазон чисел.
0
19 / 19 / 4
Регистрация: 12.07.2012
Сообщений: 92
24.07.2012, 11:37
Цитата Сообщение от Денис Н. Посмотреть сообщение
а числа от 1 до 5 или тоже рандом?

Добавлено через 4 минуты
Если числа фиксированы, то самое короткое, на мой взгляд, вот:
PHP
1
2
3
$numbers = array(1,2,4,5);
$numbers2 = array(1,2,3,4,5);
print_r(array_diff($numbers2, $numbers));
не пойму в чем проблема, уже вроде дали самый простой вариант, чем он плох?
0
 Аватар для Денис Н.
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
24.07.2012, 11:59
Цитата Сообщение от Diavolingel Посмотреть сообщение
не пойму в чем проблема, уже вроде дали самый простой вариант, чем он плох?

Не по теме:

Лёгких путей не ищем (с):D

0
8 / 8 / 1
Регистрация: 25.07.2012
Сообщений: 50
26.07.2012, 14:10
еще решение
ну если, не известно одно число, от 1 до n
Дано:
$n = 5;
$d = array(1,2,4,5);

решение:
PHP
1
2
3
$iSum=0;
for($i=1; $i<=$n; $i++)$iSum+=$i;
echo $iSum - array_sum($d);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.07.2012, 14:10
Помогаю со студенческими работами здесь

Ввести число. По выбору пользователя найти его противоположное, вычесть из него это же число, уменьшенное вдвое, или найти обратное число
var n: integer; begin Writeln('Vvedit chislo '); Readln(n); case n of 'n&lt;0' : n:=n*(-1); 'n&gt;0' : n:=n-n/2; ...

xml недостающие теги
Доброго всем дня! Делаю импорт файла xml в базу данных, программа требует четкого сопоставления столбцов БД с тегами xml. например файл ...

Посоветуйте недостающие комплектующие
присмотрел себе процессор: Intel Core i7-4790 BOX 3.6 ГГц / 4core / SVGA HD Graphics 4600 / 1+8Мб / 84 Вт / 5 ГТ / с LGA1150 (цена...

Подскажите недостающие библиотеки
Необходимо построить прямую, используя алгоритм DDA-линии. Используя алгоритм из...

Скачать недостающие компоненты
Всем привет! Скачал C++ Builder, но в нем нет папки Images и Help'а, какая-то Lite версия, если кому не жалко, помогите, скиньте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru