Имя: Пароль:
1C
 
Задача: Есть ли в доме пустующие квартиры, и вывести их номера.
, ,
0 Goodlukinger
 
16.12.15
17:40
Сама задача - Массив G(N) содержит информацию о жильцах многоквартирного девятиэтажного дома(квартир 216, число жильцов в квартирах  от 0 до 20).
Вопрос - Определить если в доме пустующие квартиры, и вывести их номера.

Помогите пожалуйста.
1 Пикчер
 
16.12.15
17:44
(0) "число жильцов в квартирах  от 0 до 20" фигасе таджикожитие
2 Necessitudo
 
16.12.15
17:44
Ты сейчас про 1С или вообще?
3 Goodlukinger
 
16.12.15
17:46
Да ребят про 1с, нужен просто код задачи. Будьте добры...
4 Necessitudo
 
16.12.15
17:46
(3) А в массиве значения какого типа? Структура?
5 User_Agronom
 
16.12.15
17:46
Для й = 1 по 216 цикл
  Ищем жильцов в квартире.
  Если для квартиры й в массиве нет ничего - выводим. КонецЕсли
КонецЦикла
6 Пикчер
 
16.12.15
17:48
(5) Функция ИщемЖильцов
Вопрос (Есть хто? это участковый?, ДаНетСтреляю)
7 cincout
 
16.12.15
17:48
(0) Сколько подъездов в доме? В доме есть консьерж?
8 Goodlukinger
 
16.12.15
17:48
Структура - массив случайных чисел, будьте добры, просто код на задачу полностью, зачёт ....
9 Пикчер
 
16.12.15
17:50
(7) 6 подъездов по 4 квартиры
10 Господин ПЖ
 
16.12.15
17:50
в каком году умерла у швейцара бабушка...
11 Пикчер
 
16.12.15
17:51
(10) ловите садовника
12 Goodlukinger
 
16.12.15
17:51
Ребятки, можно просто код на 1с....
13 Necessitudo
 
16.12.15
17:51
Для Каждого Стр Из Массив Цикл
    Если Стр.Значение.ЧислоЖильцов = 0 Тогда
         Сообщить("Квартира пуста!")
    КонецЕсли;
КонецЦикла
14 Пикчер
 
16.12.15
17:52
(13) не факт
15 Goodlukinger
 
16.12.15
17:53
Сейчас попробую
16 Goodlukinger
 
16.12.15
17:56
Ребят пишет ошибки, у меня 1с тослстый клиент. Версия учебная.
Есть ещё мысли?!
17 cincout
 
16.12.15
17:58
Для й=1 По 216 Цикл
Если G[й]=0 Тогда
Сообщить(Строка(й));
КонецЕсли;
КонецЦикла;
18 patapum
 
16.12.15
17:59
(16) есть мысль, что ты не сдашь, и это правильно
19 Garykom
 
гуру
16.12.15
17:59
я правильно понимаю что офисный планктон повыгоняли и они терь везде пытаются засунуться?
20 Пикчер
 
16.12.15
18:00
(15) информация в каком виде? фио квартира? если так, то надо  обегать массив в поисках квартиры

Для й = 1 по 216 цикл
НайденЖилец = ложь;
Для каждого Кв Из МассивG Цикл
    Если Кв.Квартира = й Тогда
       НайденЖилец = Истина;
       Прервать;
    КонецЕсли;
КонецЦикла;
    Если НЕ НайденЖилец Тогда
       Сообщить("В квартире "+ й + " пусто");
    КонецЕсли;
КонецЦикла;
21 Пикчер
 
16.12.15
18:01
(19) это поколение ЕГЭ. они только с интернетом живут. память на стороне сервера
22 Garykom
 
гуру
16.12.15
18:03
(3) (8) а учиться пробовали?
23 elCust
 
16.12.15
18:05
(21) А сервер в яйце, а яйцо в зайце... Знаем видели)))
24 Goodlukinger
 
16.12.15
18:05
А можете все скинуть с процедурой?! Именно весь код, пишет ошибки.. Пичкер..
25 ejikbeznojek
 
16.12.15
18:05
А щас в ВУЗах что-ли каких-нибудь 1С преподают?
26 Goodlukinger
 
16.12.15
18:07
Помогите, просто весь код скиньте пожалуйста. Будьте добры
27 Пикчер
 
16.12.15
18:08
(25) давно. потому 1С-ник вымирающая профессия. как юрист в 90-е
28 Garykom
 
гуру
16.12.15
18:08
(26) 500 рэ
29 ejikbeznojek
 
16.12.15
18:09
(28) Каждому!
30 Garykom
 
гуру
16.12.15
18:10
(29) каждому я по факсу перешлю
31 Goodlukinger
 
16.12.15
18:11
Ребят скиньте код, пожалуйста.
32 svsvsv
 
16.12.15
18:11
(31) ты на олимпиаде по программированию в 1С что ли?
33 ejikbeznojek
 
16.12.15
18:12
Массив то уже создан какой-то или нужно его перед этим ещё создать?
34 Goodlukinger
 
16.12.15
18:12
Да нет, нужно просто задачу здать, можно код?!
35 Goodlukinger
 
16.12.15
18:13
Я массив случайными числами создал
36 ejikbeznojek
 
16.12.15
18:14
т.е. просто
0,2,4,5,8, и т.д. 216 случайных цифр?
37 Goodlukinger
 
16.12.15
18:14
Да да, можно код... П
38 Garykom
 
гуру
16.12.15
18:15
(36) ыыы
39 svsvsv
 
16.12.15
18:15
Если массив[0] = 0 Тогда Вывести("Квартира 0 пустая");
Если массив[1] = 0 Тогда Вывести("Квартира 1 пустая");
Если массив[2] = 0 Тогда Вывести("Квартира 2 пустая");
Если массив[3] = 0 Тогда Вывести("Квартира 3 пустая");
Если массив[4] = 0 Тогда Вывести("Квартира 4 пустая");
Если массив[5] = 0 Тогда Вывести("Квартира 5 пустая");
Если массив[6] = 0 Тогда Вывести("Квартира 6 пустая");
и т.д. до 216
40 Goodlukinger
 
16.12.15
18:15
Ммм?!
41 KrabCore
 
16.12.15
18:15
(37) сам студент - учусь, но от таких даунов, как тс, честно говоря выпадаю в осадок.
42 Goodlukinger
 
16.12.15
18:16
Это код?
43 Мимохожий Однако
 
16.12.15
18:16
ОФФ: Интересно, через сколько постов его забанят? ))
44 svsvsv
 
16.12.15
18:16
только вместо Вывести() - Сообщить()
45 Garykom
 
гуру
16.12.15
18:16
(43) за что?
46 svsvsv
 
16.12.15
18:17
да, это код. должен работать
47 Garykom
 
гуру
16.12.15
18:17
(46) мог бы и через ?() и Сообщить() сделать ))
48 Мимохожий Однако
 
16.12.15
18:18
(45)канючит
49 svsvsv
 
16.12.15
18:19
(47) зачем нагружать сервер? так будет не оптимально =)
50 Мимохожий Однако
 
16.12.15
18:20
(47)Лучше через Предупреждение
51 ejikbeznojek
 
16.12.15
18:20
для сч=0 по 215 цикл
            если масс[сч]=0 тогда
        Сообщить(масс[сч]);
            конецесли;
    КонецЦикла;
52 Richard Stallman
 
16.12.15
18:21
(47) Предлагаю челленж на самое оригинальное решение задачи ТСа.
Пока первое место у svsvsv за китай-стайл )))
53 Richard Stallman
 
16.12.15
18:22
(51) скучно к тому же выведет последовательность нулей
54 Пикчер
 
16.12.15
18:22
(51) там информация о жильцах, а не квартирах

"содержит информацию о жильцах "
Иванов 5 квартира
Петров 200 квартира
55 Goodlukinger
 
16.12.15
18:23
Если знаете правильный код, скиньте пожалуйста.
56 ejikbeznojek
 
16.12.15
18:24
так тебе уже скинули код))
Разные вариции, копипасть да пробуй)
57 ejikbeznojek
 
16.12.15
18:25
только имя массива не забывай менять)
58 Пикчер
 
16.12.15
18:29
(52) они же еще в гости ходят. Надо перебирать тех кто найдены участковым в квартире и искать их в списке по этой квартире - если нет, то гость
59 ejikbeznojek
 
16.12.15
18:32
Так в условиях не говорится, что квартира где только гость - пустующая.
Достаточно снаружи дверь подпирать, чтобы вовремя подсчёта не шастали
60 Garykom
 
гуру
16.12.15
18:34
Квартиры = Новый Массив();
    ГСЧ = Новый ГенераторСлучайныхЧисел();
    Для НомерКвартиры = 1 По 216 Цикл
        Квартиры.Добавить(ГСЧ.СлучайноеЧисло(0, 20));
    КонецЦикла;
    
    ТЗ = Новый ТаблицаЗначений();
    ТЗ.Колонки.Добавить("НомерКвартиры");
    ТЗ.Колонки.Добавить("КоличествоЖильцов");
    НомерКвартиры = 0;
    Для Каждого ТекКвартира Из Квартиры Цикл
        НомерКвартиры = НомерКвартиры + 1;
        НовСтр = ТЗ.Добавить();
        НовСтр.НомерКвартиры = НомерКвартиры;
        НовСтр.КоличествоЖильцов = ТекКвартира;
    КонецЦикла;
    
    ТЗ.Сортировать("КоличествоЖильцов Возр, НомерКвартиры Возр");
    НомераПустыхКвартир = "";
    
    Для Каждого ТекСтр Из ТЗ Цикл
        Если ТекСтр.КоличествоЖильцов>0 Тогда
            Прервать;
        Иначе
            Если ПустаяСтрока(НомераПустыхКвартир) Тогда
                НомераПустыхКвартир = НомераПустыхКвартир + ТекСтр.НомерКвартиры;
            Иначе
                НомераПустыхКвартир = НомераПустыхКвартир + ", " + ТекСтр.НомерКвартиры;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    
    Сообщить("Номера пустых квартир: "+НомераПустыхКвартир);
61 The_SpecialOne
 
16.12.15
18:35
Вот еще вариантец :)

й=0;
~ЯНеЗавалюЭкзамен:
Если Квартиры[й]=0 Тогда
    Сообщить(й);
КонецЕсли;
й=й+1;
Если й<215 Тогда
    Перейти ~ЯНеЗавалюЭкзамен
КонецЕсли;
62 Garykom
 
гуру
16.12.15
18:36
(60) что то я старею... 7 минут потратил ((
63 ejikbeznojek
 
16.12.15
18:37
(60) Не честно...у тебя ТЗ, а не массив)))
64 Garykom
 
гуру
16.12.15
18:37
(63) нифига, на входе то массив
65 Richard Stallman
 
16.12.15
18:38
(61) Отлично The_SpecialOne
goto -явная заявка на спагетти-стайл
66 Garykom
 
гуру
16.12.15
18:38
(64)+ хотел еще ТЗ в запрос засунуть но решил это другим оставить
67 Garykom
 
гуру
16.12.15
18:40
Эй у меня ведь классический "индусский код" ?
68 DTX 4th
 
16.12.15
18:46
(35) >Я массив случайными числами создал
Показывай
69 ejikbeznojek
 
16.12.15
18:47
Да его уже выгнали наверное с экзамена)
70 Richard Stallman
 
16.12.15
18:56
(67) таки да
три претендента, ТС пили голосувалку
Независимо от того, куда вы едете — это в гору и против ветра!