ТРИ ЗВЕРСКИЕ ЗАДАЧИ на вопрос жизни и смерти

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Boris_BGB
Флудер-Энтузиаст
Флудер-Энтузиаст
 
Сообщения: 661
Зарегистрирован: 11.12.2002 (Ср) 11:41

ТРИ ЗВЕРСКИЕ ЗАДАЧИ на вопрос жизни и смерти

Сообщение Boris_BGB » 23.12.2003 (Вт) 16:51

I.
Составить программу вычесления центра тяжести системы N материальных точек с массами M1, M2, M3, ..... Mn и координатами (X1, Y1, Z1), (X2, Y2, Z2), ... , (Xn, Yn, Zn) по формулам:

Изображение
Изображение
Изображение


Составить подпрограмму общего вида для вычисления Хm. С помощью подпрограммы вычислить Хm, Ym, Zm. Размер массива - любой. Массы и координаты произвольные.

II.
Составить и вычислить элементы матрицы C4x4 по правилу Cij = Dij + Pij (i= 1 To 4, j= 1 To 4), где матрицы D = A(транспонированная) и P = B(транспонированная).
Числовые значения матриц А и В заданы. Вычисление элементов матрицы Dij = Aij (i = 1 To n ; j = 1 To n) оформить в виде подпрограммы общего вида с формальными параметрами:
N - кол-во строк, столбцов квадратной матрицы А
А - двумерный массив
D - двумерный массив

Исходные данные:
-1 3 5 7
А= -1 3 5 7
-1 3 5 7
-1 3 5 7

9 7 -5 3
В= 9 7 -5 3
9 7 -5 3
9 7 -5 3

Напечатать матрицы А, В, D, P, C

III.
Написать программу для вычисления кол-ва нулевых элементов матрицы В4х4, находящихся на главной диагонали и сумму положительных элементов, находящихся не на главной диагонали.
1 1 0 -1
В = 1 0 1 2
-1 3 2 -3
-2 0 1 0

Сегодня! Срочно!
Исходники, если можно на crow233@mail.ru .[/img]
Последний раз редактировалось Boris_BGB 23.12.2003 (Вт) 16:57, всего редактировалось 1 раз.
SkateBoarding is not a crime!

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 23.12.2003 (Вт) 16:55

Хе-хе, легко все это. Но мне, откровенно, лень. Ди и учиться, братец-кролик, надо самому. А зачем еще задания дают ты думаешь?
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Boris_BGB
Флудер-Энтузиаст
Флудер-Энтузиаст
 
Сообщения: 661
Зарегистрирован: 11.12.2002 (Ср) 11:41

Сообщение Boris_BGB » 23.12.2003 (Вт) 16:59

Гайдар, это не мне! Я же не в институте учусь! Пожалуста!
SkateBoarding is not a crime!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 23.12.2003 (Вт) 17:20

Эх...

1. Помоему ты неправильно написал формулу. Должно быть S(X*M)/S(M) (S - знак суммы); у тебя написано S*X*M/S(M).
Код: Выделить всё
Dim I As Long, N As Long, X() As Single, Y() As Single, Z() As Single, M() As Single, XM As Single, YM As Single, ZM As Single, SM As Single
Input N
ReDim X(1 To N) As Single, Y(1 To N) As Single, Z(1 To N) As Single, M(1 To N) As Single
For I = 1 To N
  Print "Point " & I
  Input X(I), Y(I), Z(I), M(I)
  MS = MS + M(I)
Next I
XM = CalcMV(X(), M(), MS)
YM = CalcMV(Y(), M(), MS)
ZM = CalcMV(Z(), M(), MS)
Print XM, YM, ZM

...

Function CalcMV(Pos() As Single, Mass() As Single, MassTotal As Single)
Dim N As Long, I As Long, S As Single
N = UBound(Pos)
For I = 1 To N
  S = S + Pos(I)*Mass(I)
Next I
CalcMV = S/MassTotal
End Function

З.Ы. В VB нет функции Input :) Она есть в обычном Basic, в VB надо самому что-либо подобное сделать, но лень. Пусть это будет твое д/з :)

2. Блин, ну тут инициализация массива переменными займет больше кода, чем само решение. Такое стыдно спрашивать.

3. В общем виде для квадратной матрицы NxN
Код: Выделить всё
Dim I As Long, ZC As Long, PS As Single
For I = 1 To N
  If Matrix(I,I) = 0 Then ZC = ZC+1
  If Matrix(N-I+1,I) > 0 Then PS = PS+Matrix(N-I+1,I)
Next I
Print ZC, PS
Lasciate ogni speranza, voi ch'entrate.

Boris_BGB
Флудер-Энтузиаст
Флудер-Энтузиаст
 
Сообщения: 661
Зарегистрирован: 11.12.2002 (Ср) 11:41

Сообщение Boris_BGB » 23.12.2003 (Вт) 17:24

Спасибо, но мне сейчас нужны исходники на мыло. Просто я на компе где нет ВБ, а это необходимо ну просто ПОЗАРЕЗ!
SkateBoarding is not a crime!

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 23.12.2003 (Вт) 17:41

З.Ы. В VB нет функции Input :) Она есть в обычном Basic, в VB надо самому что-либо подобное сделать, но лень. Пусть это будет твое д/з :)


InputBox :)
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Boris_BGB
Флудер-Энтузиаст
Флудер-Энтузиаст
 
Сообщения: 661
Зарегистрирован: 11.12.2002 (Ср) 11:41

Сообщение Boris_BGB » 23.12.2003 (Вт) 18:00

Ну пжалста...! :cry:
Зачем мне код? Тут на компе ВБ нет, я не смогу отредактировать... Кинте мне плииз исходники на crow233@mail.ru. Это завтра сдавать надо!
SkateBoarding is not a crime!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 2

    TopList  
cron