Форум программистов, компьютерный форум, киберфорум
Наши страницы

PascalABC.NET

Войти
Регистрация
Восстановить пароль
 
qozyrek
6 / 6 / 0
Регистрация: 19.11.2012
Сообщений: 434
#1

Высчитать сумму положительных и отрицательных элементов матрицы - PascalABC.NET

09.06.2014, 21:55. Просмотров 222. Ответов 2
Метки нет (Все метки)

Дан двумерный массив 5х6, высчитать сумму положительных и отрицательных элементов массива.

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
53
54
  uses 
        crt;
  
  const 
        n=4;
        m=3;
        
  var
      matrix: array[1..n,1..m] of integer;
      i, j: integer;
      k, z : byte;
 
  begin
    
      writeln ('Введите ',n*m,' целых чисел: ');
 
        for i := 1 to n do
          for j := 1 to m do
            readln (matrix[i,j]);
 
        clrscr;
 
        writeln ('Матрица');
 
        for i := 1 to n do
    
          begin
  
            for j := 1 to m do
          
              write ( matrix[i,j]:5 );
              writeln;
 
          end;
 
          writeln ('Количество нечетных в строках');
 
          k := 0;
          z := 0;
          
         for i:=1 to n do
 
          begin
  
                for j:=1 to m do
                  if matrix[i,j] >= 0 then k := k + matrix[i,j]
                    else z := z + matrix[i,j];
        
          end;
 
        writeln ('Сума положительных элементов в массиве: ', k);
        writeln ('Сума отрицательных элементов в массиве: ', z);
        
end.
Задача почти решена, только не правильно считает сумму отрицательных элементов. Помогите найти ошибку.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2014, 21:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Высчитать сумму положительных и отрицательных элементов матрицы (PascalABC.NET):

Найти сумму всех положительных и произведение всех отрицательных элементов матрицы - PascalABC.NET
Задав матрицу А (REAL) размером N x N (N<=10), найти сумму всех ее положительных и произведение всех ее отрицательных элементов. ...

Проверить, что число отрицательных элементов матрицы не меньше числа положительных её элементов - PascalABC.NET
дана вещественная матрица А(n*m). Логической переменной log присвоить значение True,если число отрицательных элементов матрицы не меньше...

Вычислить одновременно сумму положительных и отрицательных элементов массива - PascalABC.NET
Дан массив целых чисел из 10 элементов. Вычислить одновременно сумму положительных и отрицательных чисел. Нужно написать сначала в...

Найти сумму отрицательных и среднее арифметическое положительных элементов - PascalABC.NET
В массиве С(14) найти сумму отрицательных и среднее арифметическое положительных элементов. В массиве Т(15) найти количество...

Вычислить сумму отрицательных элементов последовательности из n произвольных чисел и количество положительных - PascalABC.NET
Пожалуйста помогите написать программу.

Найти произведение отрицательных четных и положительных нечетных элементов матрицы - PascalABC.NET
Двумерный массив: Найти произведение отрицательных четных и положительных нечетных элементов двумерного массива.

2
erl27
891 / 740 / 432
Регистрация: 06.09.2013
Сообщений: 1,561
09.06.2014, 23:17 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Для суммы отрицательных чисел Z вы указали тип byte (0..255), который вообще не имеет отрицательных значений, поэтому и считает неверно. Для суммы целых чисел желательно всегда ставить integer, а для очень больших - int64. Кстати, в условии вы указали массив 5х6, а в программе поставили 4х3. Вот программа:
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
uses crt;
 
const
  n = 4;
  m = 3;
 
var
  matrix: array[1..n, 1..m] of integer;
  i, j: byte; //здесь достаточно типа byte (0..255)
  K, Z: integer; //числа K и Z должны быть целого типа (отрицательные тоже)
 
begin
  writeln('Введите ', n * m, ' целых чисел: ');
  for i := 1 to n do
    for j := 1 to m do
      readln(matrix[i, j]);
  clrscr;
  K := 0;
  Z := 0;
  writeln('Матрица');
  for i := 1 to n do
  begin  
    for j := 1 to m do 
    begin
      write( matrix[i, j]:5); //выводим элемент (i, j) матрицы
      if matrix[i, j] > 0 then K := K + matrix[i, j] //положительные элементы (0 не считаем)
      else Z := Z + matrix[i, j] //отрицательные элементы
    end;  
    writeln  
  end;
  writeln('Сума положительных элементов в массиве: ', K);
  writeln('Сума отрицательных элементов в массиве: ', Z)
end.
1
qozyrek
6 / 6 / 0
Регистрация: 19.11.2012
Сообщений: 434
09.06.2014, 23:30  [ТС] #3
erl27, спасибо, буду знать

Добавлено через 2 минуты
Цитата Сообщение от erl27 Посмотреть сообщение
Кстати, в условии вы указали массив 5х6, а в программе поставили 4х3.
Значит не до конца переделал программу. Спасибо и за эту подсказку
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2014, 23:30
Привет! Вот еще темы с ответами:

Модули: в каждом столбце матрицы посчитать количество отрицательных и положительных элементов - PascalABC.NET
Для числовой матрицы: -в каждом столбце матрицы посчитать количество отрицательных и положительных элементов Реализовать процедурой

Найти сумму отрицательных элементов матрицы - PascalABC.NET
Помогите решить задачу:

Найти сумму положительных элементов матрицы D(4,5) - PascalABC.NET
нужно програмку написать!

Найти сумму всех отрицательных элементов матрицы - PascalABC.NET
помогите пожалуйста:-| - Ввести произвольную размерность квадратной матрицы в интервале 1..10. - Предложить ввод данных (чисел целого...


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

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

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