Доброго времени суток.
Сначала обнуляете переменную в которой будет накапливаться сумма, а затем с помощью вложенного цикла считаете сумму элементов выше главной диагонали в квадратной матрице.
S := 0;
for j:=1 to n-1 do
for k:=j+1to n do s := s + a[j,k];
К синтаксису васика перейдите сами. Давно не пользовался, забыл.
Удачи!
Другие языки программирования и технологии
помогите написаь программу в Turbo Basic : Вычислить и напечатать сумму элементов выше главной диагонали.
вообщем!! ! почь могу, но не сильно!! ! есть два пути, через ифы и через метод гауса!!! 1
вод, я прогу писать тебене буду. так как дл погорло, зашел не надолго, и решил помочь! и так семестр в завале... ((((
ну так вот!! ! смотри, вводишь два фора и иф по всей матрице, и после, сравниваешь элементы на каждом шаге программы с элементом главной диагонали, то бишь ставишь условие для ифа когда i = i (a[i,i] - это элементы главной диагонали) ну вот, вводишь ещё переменную какую нить, и присваеваешь ей сложение всех чисел, который проходя по ифу if a[i,j]
вод, я прогу писать тебене буду. так как дл погорло, зашел не надолго, и решил помочь! и так семестр в завале... ((((
ну так вот!! ! смотри, вводишь два фора и иф по всей матрице, и после, сравниваешь элементы на каждом шаге программы с элементом главной диагонали, то бишь ставишь условие для ифа когда i = i (a[i,i] - это элементы главной диагонали) ну вот, вводишь ещё переменную какую нить, и присваеваешь ей сложение всех чисел, который проходя по ифу if a[i,j]
Квадратная матрица M(n*n)
Если именно выше диагонали, исключая саму диагональ, то
Sub UpDiag()
Dim i As Long, j As Long, k As Long, S As Single
S = 0
For i = 1 To n
For j = i To n - 1
S = S + M(i, j + 1)
Next j
Next i
End Sub
Если включая диагональ, то
Sub UpDiagIncludDiag()
Dim i As Long, j As Long, k As Long, S As Single
S = 0
For i = 1 To n
For j = i To n
S = S + M(i, j)
Next j
Next i
End Sub
Если нумерация элементов начинается с 0, замени i=1, j=1 на i=0, j=0
Оператор печати вставь сама перед End Sub, я не знаю каков он в Turbo Basic (наверное Print S)
А по какому это предмету, и где? В школе, в институте?
Если именно выше диагонали, исключая саму диагональ, то
Sub UpDiag()
Dim i As Long, j As Long, k As Long, S As Single
S = 0
For i = 1 To n
For j = i To n - 1
S = S + M(i, j + 1)
Next j
Next i
End Sub
Если включая диагональ, то
Sub UpDiagIncludDiag()
Dim i As Long, j As Long, k As Long, S As Single
S = 0
For i = 1 To n
For j = i To n
S = S + M(i, j)
Next j
Next i
End Sub
Если нумерация элементов начинается с 0, замени i=1, j=1 на i=0, j=0
Оператор печати вставь сама перед End Sub, я не знаю каков он в Turbo Basic (наверное Print S)
А по какому это предмету, и где? В школе, в институте?
Владимир Неткачёв
в школе в 8 классе
Похожие вопросы
- c++ помогите найти сумму элементов на главной диагонали?
- Помогите написать программу на Visual Basic (найти ошибку)
- Помогите составить программу на Turbo Pascal?
- Помогите с программой в Turbo Pascal
- <<ПОМОГИТЕ! НАПИСАТЬ ПРОГРАММУ НА СИ ИЛИ ПАСКАЛЕ КОТОРАЯ ВЫВОДИТЬ СУММУ ЦИФР ЧИСЛА ОТ 1 ДО N
- помогите составить программу на Pascal дана матрица NxN.Найти наибольший элемент строки K.
- С++ Передать в функцию квадратную матрицу и вычислить сумму элементов на ее главной диагонали и вернуть эту сумму.
- В квадратном рандомном массиве посчитать сумму элементов главной диагонали и произведение элементов побочной диагонали.
- Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами - C++
- программа в Паскале. Найти максимальный элемент из элементов массива, расположенных над главной диагональю.