Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/49: Рейтинг темы: голосов - 49, средняя оценка - 4.86
solnushko94
2 / 2 / 0
Регистрация: 16.03.2012
Сообщений: 20
1

Вычислить сумму элементов матрицы, расположенных над главной диагональю

16.03.2012, 02:49. Просмотров 10216. Ответов 5
Метки нет (Все метки)

Вычислить сумму элементов матрицы, расположенных над главной диагональю. Размер матрицы вводится с клавиатуры. Элементы матрицы размещаются в памяти динамически.
1
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2012, 02:49
Ответы с готовыми решениями:

Вычислить сумму элементов матрицы, расположенных над главной диагональю
Вычислить сумму элементов матрицы, расположенных над главной диагональю. Размер матрицы вводить с...

Вычислить сумму элементов матрицы, расположенных над главной диагональю
Помогите с решением В заданной квадратной матрице A(K,K) (K<=10) вычислить сумму элементов,...

Даны матрицы А(4,3) и В(3,5). Для каждой матрицы вычислить сумму элементов над главной диагональю
Даны матрицы А(4,3) и В(3,5). Для каждой матрицы вычислить сумму элементов над главной диагональю....

Вычислить сумму и число положительных элементов матрицы A[N,M] , находящихся над главной диагональю
ПОМОГИТЕ!!!!!! Вычислить сумму и число положительных элементов матрицы A , находящихся над главной...

5
Mawrat
12934 / 5786 / 1704
Регистрация: 19.09.2009
Сообщений: 8,807
16.03.2012, 10:32 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
program Project1;
 
const
  MaxI = 20; //Наибольший индекс.
type
  TArr = array[1..MaxI, 1..MaxI] of Integer;
 
var
  PArr : ^TArr;
  i, j, Sum, M : Integer;
  S : String;
begin
  repeat
    Write('Задайте размер массива: ');
    Readln(M);
    if not (M in [1..MaxI]) then begin
      Writeln('Размер массива задан неверно. Действие отменено.');
      Writeln('Повторить - Enter. Выход - любой символ + Enter.');
      Readln(S);
      Continue;
    end;
    //Выделение памяти для массива.
    GetMem(PArr, M * M * SizeOf(Integer));
 
    //Заполние массива случайными числами и распечатка.
    Writeln('Исходный массив:');
    Randomize;
    for i := 1 to M do begin
      for j := 1 to M do begin
        PArr^[i, j] := Random(10); //0..9.
        if j > 1 then Write(', ');
        Write(PArr^[i, j]);
      end;
      Writeln;
    end;
 
    //Решение задачи. Для элементов, расположенных над главной диагональю,
    //выполняется условие: i < j.
    Sum := 0;
    for i := 1 to M do
    for j := i + 1 to M do Sum := Sum + PArr^[i, j];
 
    //Освобождаем память, взятую для массива.
    FreeMem(PArr);
 
    //Ответ.
    Writeln('Сумма элементов, расположенных над главной диагональю: ', Sum);
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
2
solnushko94
2 / 2 / 0
Регистрация: 16.03.2012
Сообщений: 20
16.03.2012, 22:50  [ТС] 3
Mawrat, огромное вам спасибо. Вы мне очень помогли))))
0
цуьнандог
0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 5
24.09.2013, 18:02 4
а можете такое же написать но для visual basic
0
Mawrat
12934 / 5786 / 1704
Регистрация: 19.09.2009
Сообщений: 8,807
24.09.2013, 21:02 5
Visual Basic.
На форму надо положить:
Visual Basic
1
2
CommandButton1 As CommandButton
TextBox1 As TextBox
Для TextBox1 установить свойства:
Visual Basic
1
2
MultiLine = True
WordWrap = True
Для кнопки CommandButton1 создать обработчик события CommandButton1_Click() и его код оформить так:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Option Explicit
Option Base 0
 
Private Sub CommandButton1_Click()
  Dim Arr() As Long
  Dim M As Long
  Dim i As Long
  Dim j As Long
  Dim Sum As Long
  Dim S As String
  
  'Ввод сведений о размере массива.
  Do
    S = InputBox("Задайте размер массива", "Размер массива", "")
    M = -1
    On Error Resume Next
      M = CInt(S)
    On Error GoTo 0
    If M <= 0 Then: _
      MsgBox "Неверный ввод. Должно быть введено целое положительное число. Повторите."
  Loop Until M > 0
  
  'Выделяем память для массива.
  ReDim Arr(M, M)
  
  'Заполнение массива случайными числами, подсчёт суммы элементов, расположенных
  'над главной диагональю и распечатка массива в окне Immediate.
  'Для элементов, расположенных над главной диагональю, выполняется условие: i < j.
  S = "Исходный массив:"
  Sum = 0
  Randomize
  For i = 0 To M - 1
    S = S & Chr(13) & Chr(10)
    For j = 0 To M - 1
      Arr(i, j) = Int(10 * Rnd) '0..9
      If i < j Then: _
        Sum = Sum + Arr(i, j)
      If j > 0 Then: _
        S = S & Chr(9)
      S = S & CStr(Arr(i, j))
    Next j
  Next i
  
  'Ответ.
  S = S & Chr(13) & Chr(10) _
    & "Сумма элементов, расположенных над главной диагональю: " & CStr(Sum)
  
  'Распечатка вывода программы в TextBox1.
  TextBox1.Text = S
End Sub
---
Можно и без форм сделать. Тогда вывод будет выполняться в отладочное окно Immediate с помощью метода Debug.Print:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Option Explicit
Option Base 0
 
Sub sub1()
  Dim Arr() As Long
  Dim M As Long
  Dim i As Long
  Dim j As Long
  Dim Sum As Long
  Dim S As String
  
  'Ввод сведений о размере массива.
  Do
    S = InputBox("Задайте размер массива", "Размер массива", "")
    M = -1
    On Error Resume Next
      M = CInt(S)
    On Error GoTo 0
    If M <= 0 Then: _
      MsgBox "Неверный ввод. Должно быть введено целое положительное число. Повторите."
  Loop Until M > 0
  
  'Выделяем память для массива.
  ReDim Arr(M, M)
  
  'Заполнение массива случайными числами, подсчёт суммы элементов, расположенных
  'над главной диагональю и распечатка массива в окне Immediate.
  'Для элементов, расположенных над главной диагональю, выполняется условие: i < j.
  Debug.Print "Исходный массив:"
  Sum = 0
  Randomize
  For i = 0 To M - 1
    S = ""
    For j = 0 To M - 1
      Arr(i, j) = Int(10 * Rnd) '0..9
      If i < j Then: _
        Sum = Sum + Arr(i, j)
      If j > 0 Then: _
        S = S & Chr(9)
      S = S & CStr(Arr(i, j))
    Next j
    Debug.Print S
  Next i
  
  'Ответ.
  Debug.Print "Сумма элементов, расположенных над главной диагональю: " & CStr(Sum)
End Sub
0
AndreyIvanovSex
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 8
09.04.2016, 13:02 6
А на ассемблер можете сделать?
0
09.04.2016, 13:02
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2016, 13:02

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вычислить сумму и число положительных элементов матрицы, находящихся над главной диагональю
Вычислить сумму и число положительных элементов матрицыA,находящихся над главной диагональю

Вычислить и запомнить сумму и число положительных элементов матрицы над главной диагональю
Задана матрица В(N,N). Вычислить и запомнить сумму и число положительных элементов матрицы над...

Вычислить сумму и число отрицательных элементов произвольной матрицы, находящихся над главной диагональю.
Помогите умоляю вас. Вычислить сумму и число отрицательных элементов произвольной матрицы,...

В двумерном целочисленном массиве С[4][4] найти сумму положительных элементов, расположенных над главной диагональю
В двумерном целочисленном массиве С найти сумму положительных элементов, расположенных над главной...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.