Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вывести одномерный массив с аргументом и его соответствующим значением функции. / 11 сообщений из 11, страница 1 из 1
29.04.2015, 16:20
    #38948800
Dashamath
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести одномерный массив с аргументом и его соответствующим значением функции.
Подскажите пожалуйста.Дана задача

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

Как можно сформировать именно такой массив? Никак не могу понять
...
Рейтинг: 0 / 0
29.04.2015, 16:54
    #38948854
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести одномерный массив с аргументом и его соответствующим значением функции.
Код: vbnet
1.
2.
3.
4.
for i = 1 to n
  a(i) = arg
  a(i+n) = sin(arg)
next i
...
Рейтинг: 0 / 0
29.04.2015, 16:58
    #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
29.04.2015, 19:04
    #38948992
Dashamath
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести одномерный массив с аргументом и его соответствующим значением функции.
uux,

Спасибо большое! Все сделала,все работает)И еще один вопросик: допустим вводится отдельно с клавиатуры новый аргумент. этот аргумент и значение функции от него нужно поместить в исходный массив?
...
Рейтинг: 0 / 0
29.04.2015, 22:26
    #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
30.04.2015, 08:27
    #38949196
Slava_Psk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести одномерный массив с аргументом и его соответствующим значением функции.
uux, по условию задачи массивы отсортированы по возрастанию, поэтому нужно вставлять в соответствующее место.
...
Рейтинг: 0 / 0
30.04.2015, 09:27
    #38949258
uux
uux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести одномерный массив с аргументом и его соответствующим значением функции.
Slava_Pskпоэтому нужно вставлять в соответствующее место

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

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

Можно пожалуйста доработанный вариант?
До прочтения вашего сообщения сделала с добавлением нового аргумента в конец и новой сортировкой.Работало
Потом поняла,что не правильно!
Делаю с поиском индекса нового аргумента,и не получается((
вообще стал показывать нулевой массив
...
Рейтинг: 0 / 0
06.05.2015, 01:00
    #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
06.05.2015, 09:23
    #38952344
uux
uux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести одномерный массив с аргументом и его соответствующим значением функции.
Ох елки, в вышеприведенном коде ошибка. В первом цикле Do While / Loop надо заменить Exit Sub на Exit Do - нам надо выйти из цикла, а не из процедуры. Извините:)
...
Рейтинг: 0 / 0
12.05.2015, 19:35
    #38956833
Dashamath
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести одномерный массив с аргументом и его соответствующим значением функции.
uux,

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


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