Массив в Visual Basic
Никак не могу сделать :D
вторую часть нужно сделать мозги не допетривают!
"Найти удвоенную сумму положительных элементов. Найти колличество тех элементов, значения которых отрицательных и по модулю не превосходят заданного числа A "
А заодно и отчёт написать, и остальную домашку сделать, и ещё денег закинуть на мобилу.
Код:
const
max = 1000;
var
i, n, A, sum_p, sum_otr: integer;
mas: array [1 .. max] of integer;
begin
write('n=');
readln(n);
write('A=');
readln(A);
if n > max then
n := max;
// либо использовать динамический массив !!!
randomize;
for i := 1 to n do
mas[i] := random(61) - 20;
writeln('Array:');
for i := 1 to n do
write(mas[i]:4);
writeln;
sum_p := 0;
sum_otr := 0;
for i := 0 to n do
begin
if mas[i] > 0 then
sum_p := sum_p + mas[i]
else // сюда попадут отриц числа либо 0 (но проверку на равенство 0 делать необязательно)
if abs(mas[i])<= A then
sum_otr := sum_otr + mas[i];
end;
sum_p := sum_p*2; // можно в цикле умножать элемент, но зачем?
writeln('Udvoenaya summa polojit chisel: ',sum_p);
writeln('Summa otric chisel < A po modulu: ',sum_otr);
readln;
end.
max = 1000;
var
i, n, A, sum_p, sum_otr: integer;
mas: array [1 .. max] of integer;
begin
write('n=');
readln(n);
write('A=');
readln(A);
if n > max then
n := max;
// либо использовать динамический массив !!!
randomize;
for i := 1 to n do
mas[i] := random(61) - 20;
writeln('Array:');
for i := 1 to n do
write(mas[i]:4);
writeln;
sum_p := 0;
sum_otr := 0;
for i := 0 to n do
begin
if mas[i] > 0 then
sum_p := sum_p + mas[i]
else // сюда попадут отриц числа либо 0 (но проверку на равенство 0 делать необязательно)
if abs(mas[i])<= A then
sum_otr := sum_otr + mas[i];
end;
sum_p := sum_p*2; // можно в цикле умножать элемент, но зачем?
writeln('Udvoenaya summa polojit chisel: ',sum_p);
writeln('Summa otric chisel < A po modulu: ',sum_otr);
readln;
end.
Код:
Sub z1()
Dim i As Integer
Dim n As Integer
Dim A As Integer
Dim sum_p As Integer
Dim sum_otr As Integer
Dim mas() As Integer
Dim s As String
n = Val(InputBox("Vvedite kol-vo chisel", "n", 6))
ReDim mas(n - 1) As Integer
A = Val(InputBox("Vvedite max chislo", "A", 10))
Randomize
s = ""
For i = 0 To n - 1
mas(i) = Int(41 * Rnd) - 20
s = s + str(mas(i)) + "; "
Next i
MsgBox s
sum_p = 0
sum_otr = 0
For i = 0 To n - 1
If mas(i) > 0 Then
sum_p = sum_p + mas(i)
ElseIf Abs(mas(i)) <= A Then
sum_otr = sum_otr + mas(i)
End If
Next i
sum_p = sum_p * 2
MsgBox str(sum_p)
MsgBox str(sum_otr)
End Sub
Dim i As Integer
Dim n As Integer
Dim A As Integer
Dim sum_p As Integer
Dim sum_otr As Integer
Dim mas() As Integer
Dim s As String
n = Val(InputBox("Vvedite kol-vo chisel", "n", 6))
ReDim mas(n - 1) As Integer
A = Val(InputBox("Vvedite max chislo", "A", 10))
Randomize
s = ""
For i = 0 To n - 1
mas(i) = Int(41 * Rnd) - 20
s = s + str(mas(i)) + "; "
Next i
MsgBox s
sum_p = 0
sum_otr = 0
For i = 0 To n - 1
If mas(i) > 0 Then
sum_p = sum_p + mas(i)
ElseIf Abs(mas(i)) <= A Then
sum_otr = sum_otr + mas(i)
End If
Next i
sum_p = sum_p * 2
MsgBox str(sum_p)
MsgBox str(sum_otr)
End Sub
вижуал бейсик не учил (только, что на форумах почитал, как объявлять переменные и про циклы)
писал как макрос в Ворде, т.к. нету у меня среды разработки ( в основном пишу на Delphi, Java и немного С++), но должно все работать
А если не сложно можно ещё и эскиз набарасать ? :D