3 / 3 / 0
Регистрация: 13.01.2012
Сообщений: 28
1

Заменить минимальный по модулю отрицательный элемент массива первым элементом

14.01.2012, 00:04. Показов 3053. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1.Заменить минимальный по модулю отрицательный элемент массива первым элементом.

2. Заменить последние k элементов массива на противоположные по знаку.

3. Из элементов массива C сформировать массив A той же размерности по правилу: если номер i элемента четный, то Ai=(i-1)*Ci, если нечетный, то Ai=2*i*Ci.

Ни как не получается уже запарился( подскажите , пытался 1 вот
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Dim a(30) As Single
Private Sub Command1_Click()
Dim min As Integer
n = Val(Text1.Text)
v = Split(Text2.Text, " ")
min = a(1)
For i = 1 To n
a(i) = Val(v(i - 1))
If (a(i)) < min Then min = a(i)
Next i
Picture1.Print min
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2012, 00:04
Ответы с готовыми решениями:

Найти минимальный элемент массива A(N) и поменять его местами с первым элементом массива
Найти минимальный элемент массива A(N) и поменять его местами с первым элементом массива....

Найти минимальный элемент массива A(N) и поменять его местами с первым элементом массива. Полученный массив вывести на печать
помогите еще с одной задачкой=)

Заменить нулевой элемент элемент каждой строки максимальным по модулю элементом
Заменить нулевой элемент элемент каждой строки максимальным по модулю элементом вот что у меня...

Найти в каждой строке массива максимальный и минимальный элементы и поменять их с первым и последним элементом
Дан двумерный массив размером , заполненный случайными числами. Найти в каждой строке массива...

7
Эксперт Hardware
3139 / 1907 / 323
Регистрация: 25.10.2011
Сообщений: 5,541
14.01.2012, 00:22 2
минимальный по модулю отрицательный элемент ≡ максимальный отрицательный
Visual Basic
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
Dim a() As String, c() As String
Private Sub Command1_Click()
a = Split(Text1) 'ïî óìîë÷àíèþ è òàê ïðîáåë
min = CInt(a(0))
For i = 0 To UBound(a)
    If CInt(a(i)) < 0 and  abs(CInt(a(i))) < min Then min = CInt(a(i)): i_min=i
Next i
Print min
 
a(min_i)=a(0)
End Sub
 
Private Sub Command2_Click()
a = Split(Text1)
k = CInt(text2)
For i = k - 1 To UBound(a)
    a(i) = Str(-CInt(a(i)))
Next i
End Sub
 
Private Sub Command3_Click()
c = Split(Text1)
ReDim a(UBound(c))
For i = 0 To UBound(c)
    a(i) = Str(IIf(i Mod 2 = 0, (i - 1) * CInt(c(i)), 2 * i * CInt(c(i))))
Next i
Print min
End Sub
1
3 / 3 / 0
Регистрация: 13.01.2012
Сообщений: 28
14.01.2012, 17:43  [ТС] 3
Больше спасибо, спасаете людей)

Добавлено через 1 час 40 минут
Че то протестил 1 программу не всегда правильно выходит как так не могу понять
0
Эксперт Hardware
3139 / 1907 / 323
Регистрация: 25.10.2011
Сообщений: 5,541
14.01.2012, 17:47 4
Цитата Сообщение от delyxe
можете подсказать вот функции cint и ubound в коде который вы написали?каким образом они помогают при поиске нужного числа))
Странно что не спросили про сплит, а он возвращает массив типа string.
Соответственно если хотите совершать с математические операции с элементами массива, то нужно из строки перевести в число, к типу integer в данном случае, что и делает функция cint.
Ubound(имя_массива) выдает индекс верхней границы - мы же не знаем сколько элементов ввели в строку.

А вообще смотрим Краткие описания основных функций и команд VB

Добавлено через 3 минуты
Цитата Сообщение от delyxe Посмотреть сообщение
Че то протестил 1 программу не всегда правильно выходит как так не могу понять
Пример строки
1
3 / 3 / 0
Регистрация: 13.01.2012
Сообщений: 28
14.01.2012, 18:11  [ТС] 5
14 24 -42 -5 42 -1 даже к примеру, или че то я путаю незнаю

Добавлено через 16 минут
а 3 задача почему та print min) там же надо сформировать массив )
0
Эксперт Hardware
3139 / 1907 / 323
Регистрация: 25.10.2011
Сообщений: 5,541
14.01.2012, 18:50 6
Все работает.
Только в 2 и 3 задаче нет вывода, про него не сказано)

добавить в 2 и 3:
Visual Basic
1
2
3
4
5
t=""
For i = 0 To UBound(a)
    t=t & a(i) & " "
Next
print t
а print min действительно не нужен
1
Эксперт Hardware
3139 / 1907 / 323
Регистрация: 25.10.2011
Сообщений: 5,541
14.01.2012, 21:14 7
Держи - заменил print ... на вывод в текст боксы.
И каюсь, был косячек, a(i_min) = a(0)
Вложения
Тип файла: rar temp.rar (2.3 Кб, 56 просмотров)
1
3 / 3 / 0
Регистрация: 13.01.2012
Сообщений: 28
14.01.2012, 23:35  [ТС] 8
Ура я нашел в чем была ошибка вот, считай по циклу получается так: идет число если оно отрицательное и по модулю это число меньше минимума то оно минимум, а следующее число то сравнивается с этим уже не по модулю, следовательно результат будет иной, вот надо так
Visual Basic
1
 If CInt(a(i)) < 0 And Abs(CInt(a(i))) < abs(min) Then min = CInt(a(i)): i_min = i
,а было так
Visual Basic
1
 If CInt(a(i)) < 0 And Abs(CInt(a(i))) < min Then min = CInt(a(i)): i_min = i
Добавлено через 57 минут
Еще изменил задание 2, чтобы заменить последние k элементы массива, надо начать замену с k до max,следовательно должно быть так:
Visual Basic
1
For i = UBound(a) - k To UBound(a)
было так
Visual Basic
1
For i =1-k To UBound(a)
Еще изменил задание 3))))))),
Visual Basic
1
if i Mod 2 = 0 Then a(i) = (i - 1) * CInt(c(i)) Else a(i) = 2 * i * (c(i))
,то есть четные то элемент считается так, если нечетные так,
было так:
Visual Basic
1
a(i) = Str(IIf(i Mod 2 = 0, (i - 1) * CInt(c(i)), 2 * i * CInt(c(i))))
Добавлено через 25 минут
было неправильно в задании 2 и снова написал неправильно)) должно быть так точно
Visual Basic
1
For i = UBound(a) - k + 1 To UBound(a)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2012, 23:35
Помогаю со студенческими работами здесь

Заменить нулём максимальный отрицательный элемент массива
Всем здрасьте. Требуется составить код по массивам. задания 1) Найти значение последнего...

Заменить первый отрицательный элемент массива на первый положительный
Заменить первый отрицательный элемент массива на первый положительный. Никак не могу разобраться....

Заменить минимальный по модулю отрицательный элемент массива первым элементом
1.Заменить минимальный по модулю отрицательный элемент массива первым элементом. 2. Заменить...

Заменить минимальный по модулю элемент массива первым элементом
2.Заменить минимальный по модулю элемент массива первым элементом.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru