Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
-8 / 0 / 0
Регистрация: 02.06.2017
Сообщений: 50
1

Проверить, все ли элементы столбца матрицы нулевые

16.06.2017, 12:12. Показов 1008. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Получив массив B, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы нулевые, и значение 1 в противном случае(k=1,2,...,M)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2017, 12:12
Ответы с готовыми решениями:

Получить массив B, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы нулевые
Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 0, если все...

Окрасить все положительные элементы матрицы в красный цвет, все отрицательные в зеленый, а все нулевые элементы в белый.
ПОМОГИТЕ ПОЖАЛУЙСТА!на паскаль абс 1) Целочисленная матрица n-го порядка создается из случайных...

Если последняя строка данной матрицы содержит нулевые элементы - домножить все элементы матрицы на 10
Дана действительная матрица С(n*m).Если последняя строка данной матрицы содержит нулевые элементы...

Определить номер столбца в котором все элементы нулевые
Доброго времени суток. В университете задали эти задания по информатике (PascalABC). Сама полный...

17
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
16.06.2017, 12:16 2
hhaf, что сами сделали, в чем проблема возникла? (Ответы "вааще не понимаю...", "не знаю массивы" и т.д. и т.п. - не котируются)
0
-8 / 0 / 0
Регистрация: 02.06.2017
Сообщений: 50
16.06.2017, 12:18  [ТС] 3
хочу научится делать на примере
0
1437 / 1014 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
16.06.2017, 12:20 4
Цитата Сообщение от hhaf Посмотреть сообщение
Получив массив B, присвоив его k-му элементу
Напишите, пожалуйста, по-русски.. Ничего не понятно. Дана матрица A(NxM). Что и как нужно из неё получить?

Добавлено через 54 секунды

Не по теме:

D1973, вывернулся:D

Цитата Сообщение от hhaf Посмотреть сообщение
хочу научится делать на примере

0
-8 / 0 / 0
Регистрация: 02.06.2017
Сообщений: 50
16.06.2017, 12:21  [ТС] 5
Извиняюсь, "Получить массив B
0
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
16.06.2017, 12:24 6
Цитата Сообщение от Matan! Посмотреть сообщение
Ничего не понятно
Да это понятно... Суммировать каждый столбец матрицы A: если сумма = 0, то соответствующий столбцу элемент массива В = 0, иначе =1

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Matan! Посмотреть сообщение
вывернулся
Ага :D Но грамотно...



Добавлено через 47 секунд
hhaf, что конкретно надо: консоль или форму? И если форму, то какая версия Дельфи?
0
1437 / 1014 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
16.06.2017, 12:25 7
hhaf, я так понял, что Вам нужно получить массив, у которого 0 - это соответствующие номера нулевых столбцов матрицы А, а все остальные элементы массива 1. Так?
0
-8 / 0 / 0
Регистрация: 02.06.2017
Сообщений: 50
16.06.2017, 12:29  [ТС] 8
консоль

Добавлено через 3 минуты
да
0
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
16.06.2017, 12:50 9
Delphi
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
55
56
57
58
59
60
61
62
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
var N, M, S, i, j: integer;
    A: array of array of integer;
    B: array of integer;
 
procedure PrintMatrixA;
var s : String;
    i, j: integer;
begin
 for i := 0 to N - 1 do
  begin
   s := '';
   for j := 0 to M - 1 do
    s := s + IntToStr(A[i, j]) + #9;
   Writeln(s);
  end;
end;
 
procedure PrintMatrixB;
var s : String;
    i: integer;
begin
 s := '';
 for i := 0 to M - 1 do
  s := s + IntToStr(B[i]) + #9;
 Writeln(s);
end;
 
begin
 Write('Enter N: ');
 Readln(N);
 Write('Enter M: ');
 Readln(M);
 SetLength(A, N, M);
 SetLength(B, M);
 for i := 0 to N - 1 do
  for j := 0 to M - 1 do
   begin
    Write(Format('A[%d, %d] = ', [i, j]));
    Readln(A[i, j]);
   end;
 Writeln('');
 Writeln('Our matrix A:');
 PrintMatrixA;
 for j := 0 to M - 1 do
  begin
   S := 0;
   for i := 0 to N - 1 do
    S := S + A[i, j];
   if S = 0 then B[j] := 0 else B[j] := 1;
  end;
 Writeln('');
 Writeln('Our matrix B:');
 PrintMatrixB;
 Readln;
end.
Миниатюры
Проверить, все ли элементы столбца матрицы нулевые  
0
-8 / 0 / 0
Регистрация: 02.06.2017
Сообщений: 50
16.06.2017, 12:59  [ТС] 10
спасибо
0
1437 / 1014 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
16.06.2017, 13:05 11
Delphi
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
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
var
  A: array of array of Integer;
  i, j: Integer;
  N, M, Sum: Integer;
  B: array of Integer;
 
begin
  Writeln('Enter number of Rows');
  Readln(N);
  Writeln('Enter number of Columns');
  Readln(M);
 
  SetLength(A, N, M);
  SetLength(B, M);
 
  for i := 0 to N - 1 do
    for j := 0 to M - 1 do
      Readln(A[i, j]);
  Writeln;
  for i := 0 to N - 1 do
  begin
    for j := 0 to M - 1 do
      Write(IntToStr(A[i, j]) + ' ');
    Writeln;
  end;
  Writeln;
  for j := 0 to M - 1 do
  begin
    Sum := 0;
    for i := 0 to N - 1 do
      Sum := Sum + A[i, j];
    if Sum = 0 then
      B[j] := 0
    else
      B[j] := 1;
  end;
  for j := 0 to M - 1 do
    Write(IntToStr(B[j]) + ' ');
 
  Sleep(1000);
end.
Добавлено через 51 секунду
Я на 14 мин отстал..
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
16.06.2017, 13:10 12
Не это нужно было ТС-у. Написано же, если все элементы k-го столбца - нули, то присвоить B[k] ноль. Если нет - то присвоить 1. Matan!, что будет, если столбец будет таким: <1, -1, 2, 4, -6, 0>? Сумма = 0, но не все элементы = 0, ответ неправильный.
2
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
16.06.2017, 13:38 13
Цитата Сообщение от volvo Посмотреть сообщение
ответ неправильный
Ха! Воистину, никто отрицательные элементы и не рассматривал...
0
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
16.06.2017, 13:46 14
volvo, спасибо за замечание.
hhaf, вот исправленный код
Delphi
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
55
56
57
58
59
60
61
62
63
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
var N, M, i, j: integer;
    A: array of array of integer;
    B: array of integer;
    Zero: boolean;
 
procedure PrintMatrixA;
var s : String;
    i, j: integer;
begin
 for i := 0 to N - 1 do
  begin
   s := '';
   for j := 0 to M - 1 do
    s := s + IntToStr(A[i, j]) + #9;
   Writeln(s);
  end;
end;
 
procedure PrintMatrixB;
var s : String;
    i: integer;
begin
 s := '';
 for i := 0 to M - 1 do
  s := s + IntToStr(B[i]) + #9;
 Writeln(s);
end;
 
begin
 Write('Enter N: ');
 Readln(N);
 Write('Enter M: ');
 Readln(M);
 SetLength(A, N, M);
 SetLength(B, M);
 for i := 0 to N - 1 do
  for j := 0 to M - 1 do
   begin
    Write(Format('A[%d, %d] = ', [i, j]));
    Readln(A[i, j]);
   end;
 Writeln('');
 Writeln('Our matrix A:');
 PrintMatrixA;
 for j := 0 to M - 1 do
  begin
   Zero := true;
   for i := 0 to N - 1 do
    if A[i, j] <> 0 then Zero := false;
   if Zero then B[j] := 0 else B[j] := 1;
  end;
 Writeln('');
 Writeln('Our matrix B:');
 PrintMatrixB;
 Readln;
end.
Миниатюры
Проверить, все ли элементы столбца матрицы нулевые  
0
-8 / 0 / 0
Регистрация: 02.06.2017
Сообщений: 50
19.06.2017, 20:58  [ТС] 15
А можно еще форму?
0
1437 / 1014 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
20.06.2017, 08:30 16
Цитата Сообщение от hhaf Посмотреть сообщение
А можно еще форму?
А ты сам её не можешь создать?
У тебя и алгоритм и код на руках. Осталось его немножко подправить для стринглиста(или мемо, смотря куда вводить матрицу будешь).
0
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
20.06.2017, 08:46 17
Да матрицу-то лучше всего в СтрингГрид...
0
1437 / 1014 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
20.06.2017, 10:31 18
Цитата Сообщение от D1973 Посмотреть сообщение
Да матрицу-то лучше всего в СтрингГрид...
Сорри, хотел написать стринггрид, а написал стринглист...
0
20.06.2017, 10:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2017, 10:31
Помогаю со студенческими работами здесь

В каждом столбце матрицы D[N,M] нулевые элементы переставить в начало столбца
В каждом столбце матрицы D нулевые элементы переставить в начало столбца. Помогите с задачей,...

Заменить нулевые элементы матрицы суммой элементов заданного столбца
В каждом столбце матрицы D(8,10) заменить нулевые элементы суммой элементов данного столбца....

Заменить в столбцах матрицы нулевые элементы максимальным для соответствующего столбца
Читая квадратную матрицу s столбиками, заменить каждый элемент который равен нулю, максимальным...

Для матрицы А(4 строки,4 столбца) вывести те столбцы,в которых есть нулевые элементы
Для матрицы А(4 строки,4 столбца) вывести те столбцы,в которых есть нулевые элементы ,или вывести...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru