|
помогите пожалуйста с решением задач, заранее спасибо 🠗 (Волшебник 29.05.2013 14:33) | ☑ | ||
---|---|---|---|---|
0
kittis666
29.05.13
✎
12:50
|
1. В одномерном массиве, состоящем из n вещественных элементов:
1) определите, какие числа встречаются в нем более двух раз; 2) выведите на экран элементы массива, большие среднего арифметического. 2. Дана последовательность целых чисел, за которой следует ноль. Определите число соседств чисел с одинаковыми знаками. |
|||
1
alek_aab
29.05.13
✎
12:51
|
тебе решение целиком написать?
|
|||
2
kittis666
29.05.13
✎
12:51
|
очень хотелось бы
|
|||
3
alek_aab
29.05.13
✎
12:52
|
ау-у-у-у, альтруисты, где вы-ы?
|
|||
4
mikecool
29.05.13
✎
12:52
|
стянула где то горшок с цветами, теперь решения задач хочешь...
|
|||
5
drcrasher
29.05.13
✎
12:52
|
не надо, программирование - не твоё
|
|||
6
kittis666
29.05.13
✎
12:52
|
при чем тут моя работа?;)
|
|||
7
Abmo
29.05.13
✎
12:53
|
(0) Ой зря ты сюда пришла)
|
|||
8
kittis666
29.05.13
✎
12:53
|
в том-то и дело, что надо(
|
|||
9
shuhard
29.05.13
✎
12:53
|
(6) на форум кинологов уже обращалась ?
|
|||
10
alek_aab
29.05.13
✎
12:53
|
однако, пятница начнется в среду...
|
|||
11
kittis666
29.05.13
✎
12:53
|
очень вас рекомендовали, вот и пришла
|
|||
12
Abmo
29.05.13
✎
12:55
|
может кто-то что-то и напишет, хотя.. нет, не напишет
|
|||
13
salvator
29.05.13
✎
12:55
|
(11) Тебе на 1С надо это сделать?
|
|||
14
kittis666
29.05.13
✎
12:55
|
в частности мне просто нужен программный код
|
|||
15
del123
29.05.13
✎
12:56
|
Здесь так не принято.
Нужно показать что уже у самой получилось, подскажут что неправильно |
|||
16
GROOVY
29.05.13
✎
12:56
|
Проведем краткий анализ топика:
Автор не владеет навыками алгоритмизации. Автор не владеет синтаксисом 1С, да и думаю вообще с языками программирования у ТС очень плохо. Автору нужно решить задание. Зачем? Видимо при устройстве на работу. Будут ли люди помогать обмануть работодателя? К чему приведет в дальнейшем такая ложь? |
|||
17
kittis666
29.05.13
✎
12:56
|
автору нужно сдать контрольную
|
|||
18
alek_aab
29.05.13
✎
12:57
|
(17) завтра?
|
|||
19
Maxus43
29.05.13
✎
12:57
|
2) выведите на экран элементы массива, большие среднего арифметического.
///Среднее-арифмитическое й=0; Для каждого Эл Из МойМассив Цикл й = й + Эл; КонецЦикла; Среднее = й МойМассив.Количество(); //Вывод Для каждого Эл Из МойМассив Цикл Если Эл > Среднее Тогда Сообщить(Эл); КонецЕсли; КонецЦикла; З.ы. начинайте кидаться какахами |
|||
20
GROOVY
29.05.13
✎
12:57
|
(17) Но контролируется то как раз некий навык. Если его нет, то зачем обманывать экзаменующую сторону? Нет навыка - нет зачета.
|
|||
21
GROOVY
29.05.13
✎
12:57
|
(19) :)
|
|||
22
kittis666
29.05.13
✎
12:58
|
к 02/06
|
|||
23
Maxus43
29.05.13
✎
12:58
|
*Среднее = й / МойМассив.Количество();
|
|||
24
alek_aab
29.05.13
✎
12:59
|
(22) сочувствую, примите соболезнования...
|
|||
25
Maxus43
29.05.13
✎
12:59
|
1.1 я бы вобще как 1сник запихнул в ТЗ и запросом вывел... писать алгоритмы лень
|
|||
26
salvator
29.05.13
✎
13:05
|
определите, какие числа встречаются в нем более двух раз:
ТЗ = Новый ТаблицаЗначений(); ТЗ.Колонки.Добавить("А"); ТЗ.Колонки.Добавить("Б"); ТЗ.ЗагрузитьКолонку(МассивЧисел,"А"); ТЗ.ЗаполнитьЗначения(1,"Б"); ТЗ.Свернуть("А","Б"); Для Каждого Стр Из ТЗ Цикл Если Стр.Б > 1 Тогда Сообщить(Стр.А); КонецЕсли; КонецЦикла; |
|||
27
Maxus43
29.05.13
✎
13:08
|
(26) строки в ТЗ должны быть созданы только, насколько я помню. столько же сколько и в массиве
|
|||
28
salvator
29.05.13
✎
13:10
|
(27) Да, точно.
|
|||
29
dkonakov
29.05.13
✎
13:13
|
ЧислоСоседствЧисел = 0;
ПеременнаяМассива = 0; Пока МойМассив[ПеременнаяМассива]<>0 Цикл Если МойМассив[ПеременнаяМассива]>0 и МойМассив[ПеременнаяМассива]>0 Тогда ЧислоСоседствЧисел = ЧислоСоседствЧисел +1; КонецЕсли; Если МойМассив[ПеременнаяМассива]<0 и МойМассив[ПеременнаяМассива]<0 Тогда ЧислоСоседствЧисел = ЧислоСоседствЧисел +1; КонецЕсли; ПеременнаяМассива = ПеременнаяМассива+1; КонецЦикла; |
|||
31
dkonakov
29.05.13
✎
13:17
|
ой, ошибся:
ЧислоСоседствЧисел = 0; ПеременнаяМассива = 0; Пока МойМассив[ПеременнаяМассива]<>0 Цикл Если МойМассив[ПеременнаяМассива]>0 и МойМассив[ПеременнаяМассива+1]>0 Тогда ЧислоСоседствЧисел = ЧислоСоседствЧисел +1; КонецЕсли; Если МойМассив[ПеременнаяМассива]<0 и МойМассив[ПеременнаяМассива+1]<0 Тогда ЧислоСоседствЧисел = ЧислоСоседствЧисел +1; КонецЕсли; ПеременнаяМассива = ПеременнаяМассива+1; КонецЦикла; |
|||
43
kittis666
29.05.13
✎
13:33
|
в чем тут ошибка? ( не работает программа)
Перем Число, Количество; Таблица = Новый Массив; ВвестиЧисло(Количество,"Введите количество элементов"); Для сч=1 по Количество Цикл ВвестиЧисло(Число, "Введите " + сч + " элемент"); Таблица.Добавить(Число); КонецЦикла; сумма = 0; для сч=0 по Количество-1 Цикл сумма = сумма+Таблица[сч]; КонецЦикла; Ответ=новый массив; у=сумма/количество; Для сч=1 по количество Цикл если сч>у тогда Ответ.Добавить(сч); КонецЕсли; КонецЦикла; |
|||
44
Maxus43
29.05.13
✎
13:35
|
(43) вроде на первый взгляд должно. что конкретно не работает?
|
|||
45
Maxus43
29.05.13
✎
13:35
|
ввела может все числа одинаковые, тогда не будет конечно больше среднего ничего
|
|||
46
H A D G E H O G s
29.05.13
✎
13:36
|
Сомневаюсь, что, например, Дельфи, знает, что такое ТаблицаЗначений.
Пешите примитивно. |
|||
47
vicof
29.05.13
✎
13:37
|
(44) На экран не выводится))
|
|||
48
kittis666
29.05.13
✎
13:37
|
индекс выходит за границы массива
|
|||
49
kittis666
29.05.13
✎
13:38
|
с разними числами тоже не работает(
|
|||
50
kittis666
29.05.13
✎
13:38
|
разными*
|
|||
51
DexterMorgan
29.05.13
✎
13:39
|
(46) А где там таблица значений?
|
|||
52
Maxus43
29.05.13
✎
13:39
|
для сч=0 по Таблица.Количество()-1 Цикл
|
|||
53
DexterMorgan
29.05.13
✎
13:40
|
(48) Ответ.Добавить(сч) добавь минус 1
|
|||
54
Maxus43
29.05.13
✎
13:41
|
Для примера юзай 3 числа, 1,2,3
|
|||
55
ICWiner
29.05.13
✎
13:42
|
Не
Для сч=1 по количество Цикл если сч>у тогда Ответ.Добавить(сч); КонецЕсли; а Для сч=1 по количество Цикл если Таблица[сч]>у тогда Ответ.Добавить(Таблица[сч]); КонецЕсли; |
|||
56
ICWiner
29.05.13
✎
13:42
|
а то итератор сравниваешь со средним
|
|||
57
kittis666
29.05.13
✎
13:43
|
все равно индекс за границами(
|
|||
58
ICWiner
29.05.13
✎
13:44
|
Я скопировал и запустил, все отработало...
|
|||
59
kittis666
29.05.13
✎
13:44
|
это было на пред.сообщ, сейчас это попробую)
|
|||
60
Maxus43
29.05.13
✎
13:44
|
(55) это косяк, да, но ошибки быть не должно такой. К индексу обращается только тут сумма = сумма+Таблица[сч];
|
|||
61
DexterMorgan
29.05.13
✎
13:45
|
(57) =(
|
|||
62
AaNnDdRrEeYy
29.05.13
✎
13:46
|
вместо индексов можно и Для каждого Цикл, точно выхода за границы массива не будет.
|
|||
63
ICWiner
29.05.13
✎
13:46
|
Я ж говорю, создал внешнюю обработку, в модуль скопипастил этот код, задал число символов 5, ввел 1 2 3 4 5, все норм, кроме сравнения со средней. Отработало без ошибок
|
|||
64
Maxus43
29.05.13
✎
13:47
|
не весь код выложила, он почти нормальный
|
|||
65
kittis666
29.05.13
✎
13:47
|
не работает(
причину не могу понять( |
|||
66
Jonny_Khomich
29.05.13
✎
13:49
|
||||
67
DexterMorgan
29.05.13
✎
13:49
|
(65) Ну не расстраивайся(( Выложи весь код мы тебе поможем!
|
|||
68
ICWiner
29.05.13
✎
13:49
|
У тебя был код
сумма = 0; для сч=0 по Количество Цикл сумма = сумма+Таблица[сч]; КонецЦикла; Выдавал эту ошибку, ты исправила в обработке/конфигурации на "по Количество - 1", потом или забыла сохранить, или забыла закрыть обработку после сохранения и окрыть заного. |
|||
69
kittis666
29.05.13
✎
13:50
|
Перем Число, Количество;
Таблица = Новый Массив; ВвестиЧисло(Количество,"Введите количество элементов"); Для сч=1 по Количество Цикл ВвестиЧисло(Число, "Введите " + сч + " элемент"); Таблица.Добавить(Число); КонецЦикла; сумма = 0; для сч=0 по Количество-1 Цикл сумма = сумма+Таблица[сч]; КонецЦикла; Ответ = новый массив; у=сумма/количество; Для сч=1 по количество Цикл если Таблица[сч]>у тогда Ответ.Добавить(Таблица[сч]); КонецЕсли; КонецЦикла; Строкавывода = ""; Для сч=0 по Количество-1 Цикл Строкавывода = СтрокаВывода + Ответ[сч] + " "; КонецЦикла; ЭлементыФормы.массив.Значение = СтрокаВывода; |
|||
70
ICWiner
29.05.13
✎
13:50
|
телепат бот моде он
|
|||
71
kittis666
29.05.13
✎
13:50
|
с этим выходит за границы
|
|||
72
DexterMorgan
29.05.13
✎
13:50
|
(68) или кэш)
|
|||
73
ICWiner
29.05.13
✎
13:50
|
Для сч=0 по Количество-1 Цикл
Строкавывода = СтрокаВывода + Ответ[сч] + " "; КонецЦикла; |
|||
74
AaNnDdRrEeYy
29.05.13
✎
13:51
|
Это какой-то жирный троль! не поддавайтесь на провакации
|
|||
75
Mikeware
29.05.13
✎
13:51
|
(43) в ДНК
|
|||
76
DexterMorgan
29.05.13
✎
13:51
|
(69) Ну поправь же!
Для сч=1 по количество Цикл |
|||
77
ICWiner
29.05.13
✎
13:51
|
В массиве Ответ меньше символов
Для сч=0 по Ответ.Количество() - 1 Цикл Строкавывода = СтрокаВывода + Ответ[сч] + " "; КонецЦикла; |
|||
78
ICWiner
29.05.13
✎
13:55
|
омг, это что, семерка? оО
|
|||
80
Михаил 1С
29.05.13
✎
14:01
|
(18) Здоровский вопрос! :))
|
|||
81
kittis666
29.05.13
✎
14:13
|
есть еще такое, ту же ошибку выводит
перем кол, а; Таблица= новый массив; ВвестиЧисло(Кол,"Введите количество элементов"); Для сч=1 по Кол Цикл ВвестиЧисло(а, "Введите " + сч + " элемент"); Таблица.Добавить(а); КонецЦикла; к=0; для сч=0 по кол-1 цикл если Таблица[сч]*Таблица[сч+1]> 0 тогда к=к+1; КонецЕсли; КонецЦикла; ЭлементыФормы.Ответ.Значение = к; |
|||
82
DexterMorgan
29.05.13
✎
14:19
|
Таблица[сч]*Таблица[сч+1]
ты правда троллишь? Зачем здесь +1? |
|||
83
DexterMorgan
29.05.13
✎
14:21
|
Ты понимаешь что индекс в массиве считается с 0, те количество элементов всегда = макс индекс + 1?
|
|||
84
m-serg74
29.05.13
✎
14:24
|
(81)
|
|||
85
m-serg74
29.05.13
✎
14:24
|
к=0;
для сч=0 по кол-2 цикл если Таблица[сч]*Таблица[сч+1]> 0 тогда к=к+1; КонецЕсли; КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |