powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вывести одномерный массив с аргументом и его соответствующим значением функции.
11 сообщений из 11, страница 1 из 1
Вывести одномерный массив с аргументом и его соответствующим значением функции.
    #38948800
Dashamath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста.Дана задача

Дан одномерный массив А(2n).в первых n элементах размещены значения аргумента в порядке возрастания,в следующих - соответствующие им значения функции sin.Вывести на экран данный массив

Как можно сформировать именно такой массив? Никак не могу понять
...
Рейтинг: 0 / 0
Вывести одномерный массив с аргументом и его соответствующим значением функции.
    #38948854
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
for i = 1 to n
  a(i) = arg
  a(i+n) = sin(arg)
next i
...
Рейтинг: 0 / 0
Вывести одномерный массив с аргументом и его соответствующим значением функции.
    #38948858
uux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
uux
Гость
Как-то так, наверно:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Dim I As Long, A() As Single, n As long
n=Inputbox("Введите n:")
For I=1 To n
    ' Здесь каким-то образом вводится/считывается очередное значение A, например:
    ' A(I)=Inputbox("Введите "+trim(str(i))+"-й элемент массива: "
    A(I+n)=sin(A(I))
Next I
...
Рейтинг: 0 / 0
Вывести одномерный массив с аргументом и его соответствующим значением функции.
    #38948992
Dashamath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uux,

Спасибо большое! Все сделала,все работает)И еще один вопросик: допустим вводится отдельно с клавиатуры новый аргумент. этот аргумент и значение функции от него нужно поместить в исходный массив?
...
Рейтинг: 0 / 0
Вывести одномерный массив с аргументом и его соответствующим значением функции.
    #38949100
uux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
uux
Гость
Dashamathuux,

допустим вводится отдельно с клавиатуры новый аргумент. этот аргумент и значение функции от него нужно поместить в исходный массив?

Считаем, что исходное количество точек n у вас сохранилось, и что новый аргумент (допустим, это переменная arg) надо вставить в самом конце цепочки.Тогда сначала смещаем значения синусов на 1, а затем на освободившееся место записываем аргумент:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
' Сдвиг элементов массива на 1
'
For I=2*n To n+1 Step -1
    A(I+1)=A(I)
Next I
' Увеличиваем количество пар "аргумент-синус от него" на 1
'
n=n+1
' Запись нового значения и синуса от него на соответствующие места
'
A(n)=arg
A(2*n)=sin(arg)
...
Рейтинг: 0 / 0
Вывести одномерный массив с аргументом и его соответствующим значением функции.
    #38949196
Slava_Psk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uux, по условию задачи массивы отсортированы по возрастанию, поэтому нужно вставлять в соответствующее место.
...
Рейтинг: 0 / 0
Вывести одномерный массив с аргументом и его соответствующим значением функции.
    #38949258
uux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
uux
Гость
Slava_Pskпоэтому нужно вставлять в соответствующее место

и все мы знаем, в какое;).

Дайте уж ТС хоть что-то сделать самостоятельно;). Если у нее возникнут сложности - дам доработанный вариант.
...
Рейтинг: 0 / 0
Вывести одномерный массив с аргументом и его соответствующим значением функции.
    #38952171
Dashamath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uux,

Можно пожалуйста доработанный вариант?
До прочтения вашего сообщения сделала с добавлением нового аргумента в конец и новой сортировкой.Работало
Потом поняла,что не правильно!
Делаю с поиском индекса нового аргумента,и не получается((
вообще стал показывать нулевой массив
...
Рейтинг: 0 / 0
Вывести одномерный массив с аргументом и его соответствующим значением функции.
    #38952260
uux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
uux
Гость
Доработанный вариант (по-прежнему считаем, что прежнее количество точек n нам известно, а аргументы в существующем массиве уже упорядочены по возрастанию):

Код: vbnet
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.
30.
31.
32.
33.
34.
35.
36.
Dim I as Long, PosToInsert As Long
' Здесь каким-то образом должен вводиться /считываться новый аргумент arg
'
' Инициализируем перебор
'
PosToInsert=1
Do While PosToInsert<=n ' Пока не достигли конца массива с аргументами 
    If A(PosToInsert)>=arg Then
         ' Нашли аргумент больше текущего - здесь и будем его вставлять
         Exit Sub
    End If
    ' Переходим к следующему элементу массива
    '
    PosToInsert=PosToInsert+1    
Loop
' На выходе из предыдущего цикла в переменной PosToInsert у нас будет индекс, под которым необходимо вставить новый аргумент
' 
' Сдвиг элементов массива на 1 (освобождаем место для аргумента)
'
For I=2*n To PosToInsert Step -1
    A(I+1)=A(I)
Next I
' Вставляем аргумент
'
A(PosToInsert)=arg
' Повторный сдвиг элементов массива на 1 (освобождаем место для sin(arg))
'
For I=2*n+1 To 2*PosToInsert Step -1
    A(I+1)=A(I)
Next I
' Записываем значение sin(arg) в массив на нужном месте
'
A(2*PosToInsert)=sin(arg)
' Увеличиваем количество пар "аргумент-синус от него" на 1
'
n=n+1

[/quot]

Данный цикл должен по идее работать для любого n, даже для n=0. Ввод значений аргументов arg можно организовать внешним циклом.
...
Рейтинг: 0 / 0
Вывести одномерный массив с аргументом и его соответствующим значением функции.
    #38952344
uux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
uux
Гость
Ох елки, в вышеприведенном коде ошибка. В первом цикле Do While / Loop надо заменить Exit Sub на Exit Do - нам надо выйти из цикла, а не из процедуры. Извините:)
...
Рейтинг: 0 / 0
Вывести одномерный массив с аргументом и его соответствующим значением функции.
    #38956833
Dashamath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uux,

Спасибо большое за помощь! Лабораторная сдана!)))
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вывести одномерный массив с аргументом и его соответствующим значением функции.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]