Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
wanted9110
1 / 1 / 0
Регистрация: 20.04.2015
Сообщений: 27
1

Массивы 1С Программирования

25.10.2015, 14:21. Просмотров 1236. Ответов 15
Метки нет (Все метки)

И так, это снова я, товарищи
Нужна ваша ценная помощь, уже несколько часов пытаюсь выполнить следующие задание, не получается сделать как нужно.
Вот задание и скриншот что должно получится:
ЗАДАНИЕ:
1. Создайте массив из 7 элементов
2. Задайте элементам массива следующие значения: 21, 4, 1, 5, 23, 12, 18
3. Сообщите: в окно сообщений - текст МАССИВЫ
4. Сообщите: кол-во элементов в массиве, используя программный метод – количество()
5. Сообщите: наибольший индекс массива с помощью соответствующего метода
6. Выведите созданный массив с помощью оператора.

Название: Безымянный.png
Просмотров: 38

Размер: 4.2 Кб
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2015, 14:21
Ответы с готовыми решениями:

Основы алгоритмизации и программирования: циклы, массивы
Дано: с клавиатуры вводятся два целых числа – М и К. 1<M<10, 1<K<10. (М – число...

Написать программу-тест на тему "Языки и системы программирования. Одномерные массивы"
помогите пожалуйста написать программу в с# вот задание Задание № 8. ...

Как называется движение программирования или теория программы считывающая др. язык программирования
Не знал, как по другому задать вопрос, и также назвать тему, но буду краток: ...

Как называется язык программирования для программирования на Android?
Как называется язык программирования для программирования на Android?

Выбор языка программирования для разработки среды программирования
Возникла мысль о создании ЯПа. Ныне популярные ЯПы не универсальны, либо...

15
Phil
Эксперт 1С
244 / 245 / 75
Регистрация: 28.05.2014
Сообщений: 917
25.10.2015, 15:04 2
wanted9110, и в чем проблема?
Создал массив. программно задал все элементы. А дальше по справке прочитал, даже операторы написали какими пользоваться.
0
wanted9110
1 / 1 / 0
Регистрация: 20.04.2015
Сообщений: 27
25.10.2015, 15:18  [ТС] 3
Вот что написал, допилить не получается

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Сообщить("==============================");
    Сообщить("МАССИВЫ");
    Сообщить("==============================");
 
    
    Сообщить("==============================");
    к = 7;
    Массив = Новый Массив(к);
    Массив[0] = 21;
    Массив[1] = 4;
    Массив[2] = 1;
    Массив[3] = 5;
    Массив[4] = 23;
    Массив[5] = 12;
    Массив[6] = 18;
    Сообщить("Массив[0] = " + Массив[0]);
    Сообщить("Массив[1] = " + Массив[1]);
    Сообщить("Массив[2] = " + Массив[2]);
    Сообщить("Массив[3] = " + Массив[3]);
    Сообщить("Массив[4] = " + Массив[4]);
    Сообщить("Массив[5] = " + Массив[5]);
    Сообщить("Массив[6] = " + Массив[6]);
    Сообщить("==============================");
    КонецПроцедуры
Добавлено через 9 минут
Всё разобрался, спасибо)
0
Phil
Эксперт 1С
244 / 245 / 75
Регистрация: 28.05.2014
Сообщений: 917
25.10.2015, 15:26 4
Лучший ответ Сообщение было отмечено wanted9110 как решение

Решение

wanted9110,
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Массив = Новый Массив;
    Массив.Добавить(21);
    Массив.Добавить(4);
    Массив.Добавить(1);
    Массив.Добавить(5);
    Массив.Добавить(23);
    Массив.Добавить(12);
    Массив.Добавить(18);
    Сообщить("==============================");
    Сообщить("МАССИВЫ");
    Сообщить("==============================");
    Сообщить("Кол-во элементов =" + Массив.Количество());
    Сообщить("Нб индекс массива="); //  а здесь через цикл перебрать все элементы массива, сравнить и найти максимальный
    Для  строка = 0  по Массив.Количество()-1 цикл
        Сообщить("Массив["+строка +"] ="+ Массив[строка]);
    Конеццикла;
    Сообщить("==============================");
Максимальный элемент цикла найти можно перебрав в цикле все элементы и сравнив их поочередно. В интернете примеров масса.

Добавлено через 1 минуту
ой глупость сказал, тут ж про индекс говорится, тогда наибольший индекс будет = Массив.Количество() -1
0
wanted9110
1 / 1 / 0
Регистрация: 20.04.2015
Сообщений: 27
25.10.2015, 15:34  [ТС] 5
А у тебя по приятнее сделано, я вот как сделал :
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
        Сообщить("==============================");
    Сообщить("МАССИВ 2");
    Сообщить("==============================");
    к = 7;
    Массив = Новый Массив(к);
    Сообщить("Количество элементов = " + Массив.Количество());
    Сообщить("Наибольший индекс = " + Массив.ВГраница());
    Сообщить("==============================");
    к = 7;
    Массив = Новый Массив(к);
    Массив[0] = 21;
    Массив[1] = 4;
    Массив[2] = 1;
    Массив[3] = 5;
    Массив[4] = 23;
    Массив[5] = 12;
    Массив[6] = 18;
    Сообщить("Массив[0] = " + Массив[0]);
    Сообщить("Массив[1] = " + Массив[1]);
    Сообщить("Массив[2] = " + Массив[2]);
    Сообщить("Массив[3] = " + Массив[3]);
    Сообщить("Массив[4] = " + Массив[4]);
    Сообщить("Массив[5] = " + Массив[5]);
    Сообщить("Массив[6] = " + Массив[6]);
    //
    Массив.Вставить(24, "Измененный элемент");
    Сообщить(Массив[4]);
    Сообщить("==============================");   
    КонецПроцедуры
Добавлено через 36 секунд
А изменить чтобы массив, что написать? Просто удалить старый и записать новый ?
0
Phil
Эксперт 1С
244 / 245 / 75
Регистрация: 28.05.2014
Сообщений: 917
25.10.2015, 17:27 6
wanted9110, как изменить массив? твой созданный целиком или отдельный элемент?
0
wanted9110
1 / 1 / 0
Регистрация: 20.04.2015
Сообщений: 27
25.10.2015, 18:37  [ТС] 7
Только отдельный элемент

Добавлено через 13 секунд
Phil, Только отдельный элемент
0
Phil
Эксперт 1С
244 / 245 / 75
Регистрация: 28.05.2014
Сообщений: 917
25.10.2015, 18:45 8
wanted9110, если ты знаешь какой элемент тебе нужно перезаписать, то достаточно обратится к данному элементу по индексу и присвоить новое значение.
1
wanted9110
1 / 1 / 0
Регистрация: 20.04.2015
Сообщений: 27
25.10.2015, 19:12  [ТС] 9
Сейчас попробую

Добавлено через 4 минуты
Спасибо, получилось, извини что много вопросов, в 1С программировании совсем не давно

Добавлено через 3 минуты
А как вставить значение, равное 60, в массив по индексу 6?

Добавлено через 7 минут
Сделал так, но не то вышло немного:
1C
1
    Массив.Вставить(6, "60");
Добавлено через 40 секунд
Последний элемент теряется куда-то
0
Phil
Эксперт 1С
244 / 245 / 75
Регистрация: 28.05.2014
Сообщений: 917
25.10.2015, 19:14 10
Лучший ответ Сообщение было отмечено wanted9110 как решение

Решение

Массив[6] = 60;
0
wanted9110
1 / 1 / 0
Регистрация: 20.04.2015
Сообщений: 27
25.10.2015, 19:24  [ТС] 11
Phil, Так он же заменит, а не вставит?

Добавлено через 2 минуты
Phil, Нужно как-бы вставить массив между
1C
1
Массив.Добавить(12)
и
1C
1
 Массив.Добавить(18)
;

Добавлено через 1 минуту
А после того как мы его вставили, не нужно его выводить через :Для каждого...из...Цикл?
0
Phil
Эксперт 1С
244 / 245 / 75
Регистрация: 28.05.2014
Сообщений: 917
25.10.2015, 19:26 12
wanted9110, что требуется сделать? мы сформировали массив, вывели, теперь что надо сделать? заменить элемент массива? добавить новый и после этого ещё раз вывести массив?
1
wanted9110
1 / 1 / 0
Регистрация: 20.04.2015
Сообщений: 27
25.10.2015, 19:30  [ТС] 13
Вот смотри, полное задание, что нужно сделать:
ЗАДАНИЕ:
1. Создайте массив из 7 элементов
2. Задайте элементам массива следующие значения: 21, 4, 1, 5, 23, 12, 18
3. Программно измените значение пятого элемента массива на 24
4. Вставьте значение, равное 60, в массив по индексу 6.
5. Сообщите: в окно сообщений - текст МАССИВ 2
6. Сообщите: кол-во элементов в массиве, используя программный метод – количество()
7. Сообщите: наибольший индекс массива
8. Выведите созданный массив с помощью оператора «Для Каждого … Из … Цикл»

Добавлено через 28 секунд
Сделано всё, кроме 4 и 8 пункта
0
Phil
Эксперт 1С
244 / 245 / 75
Регистрация: 28.05.2014
Сообщений: 917
25.10.2015, 19:46 14
Лучший ответ Сообщение было отмечено wanted9110 как решение

Решение

wanted9110, 8 пункт это
1C
1
2
3
Для  строка = 0  по Массив.Количество()-1 цикл
        Сообщить("Массив["+строка +"] ="+ Массив[строка]);
    Конеццикла;
4 - это я как понял, мы добавляем новый элемент.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Задали программно массив
    Массив = Новый Массив;
    Массив.Добавить(21);
    Массив.Добавить(4);
    Массив.Добавить(1);
    Массив.Добавить(5);
    Массив.Добавить(23);
    Массив.Добавить(12);
    Массив.Добавить(18);
    Массив[5]=24;
    // Вставили по индексу 6
    Массив.Вставить(6,60);
 
    
    // вывели все сообщения
    Сообщить("==============================");
    Сообщить("МАССИВЫ");
    Сообщить("==============================");
    Сообщить("Кол-во элементов =" + Массив.Количество());
    Сообщить("Нб индекс массива=" + Массив.ВГраница()); 
    
    // вывели итоговый массив уже на 7 элемент, т.к. один добавили вставкой.
    Для  строка = 0  по Массив.Количество()-1 цикл
        Сообщить("Массив["+строка +"] ="+ Массив[строка]);
    Конеццикла;
    Сообщить("==============================");
Добавлено через 3 минуты
Только другим циклом вывожу)
1
wanted9110
1 / 1 / 0
Регистрация: 20.04.2015
Сообщений: 27
25.10.2015, 20:13  [ТС] 15
Phil, Спасибо большое! Ты прям голова

Добавлено через 23 минуты
Обратный порядок массива, намекни если не сложно)))
0
Dethmontt
Модератор
Эксперт 1С
2617 / 2417 / 407
Регистрация: 10.03.2011
Сообщений: 8,595
Записей в блоге: 1
Завершенные тесты: 1
26.10.2015, 00:07 16
1C
1
2
3
4
5
6
    Массив = Новый Массив(10);
 
    Для сч=-Массив.ВГраница() По 0 Цикл 
        Сообщить((-сч));
        Сообщить("Массив["+(-сч)+"]="+Массив[-сч]);
    КонецЦикла;
1
26.10.2015, 00:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2015, 00:07

Упорядочить массивы по по убыванию, потом соединить массивы в один упорядоченный массив
Начала писать, запуталась Даны два одномерных массива состоящие из 10 целых...

Даны массивы A(8), F(8),Q(8). Сформировать массивы С(8), каждый элемент которого вычисляется по формуле
uses crt; type mas=array of integer; var A,F,Q,C:mas; i,s:integer; ...

Даны массивы а и b. Получить новые массивы a и b, элементы которых вычисляются по правилу: ai=bi, bi= -ai
Даны массивы а и b, состоящие из n-элементов каждый. Получить новые массивы...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru