Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lazarus
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Ананаско
2 / 2 / 0
Регистрация: 23.11.2014
Сообщений: 60
1

Подсчитать количество нулевых элементов матрицы и напечатать их индексы

16.01.2015, 19:04. Просмотров 723. Ответов 4
Метки нет (Все метки)

Определить номера строки и столбца максимального простого числа прямоугольной матрицы A(n, m). Подсчитать количество нулевых элементов матрицы и напечатать их индексы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2015, 19:04
Ответы с готовыми решениями:

Найти произведение ненулевых элементов и количество нулевых элементов одномерного массива
Здравствуйте! Помогите, пожалуйста, сделать программу в Лазарусе 1. Дан...

Найти произведение ненулевых элементов и количество нулевых элементов массива
Дан одномерный массив. Найти произведение ненулевых элементов и количество...

Найти количество нулевых элементов в матрице
В матрице А(3,3) найти количество нулевых элементов. Если можно, полностью...

Определить координаты максимального простого числа в матрице. Посчитать количество нулевых элементов
определить номера строки и столбца максимального простого числа прямоугольной...

Массив: подсчитать число столбцов, среднее арифметическое элементов которых меньше среднего арифметического всех элементов матрицы.
В матрице A(6, 6) подсчитать число столбцов, среднее арифметическое элементов...

4
Ананаско
2 / 2 / 0
Регистрация: 23.11.2014
Сообщений: 60
18.01.2015, 21:07  [ТС] 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
   procedure TForm1.Button1Click(Sender: TObject);
   const
     k = 4;
     m = 4;
   var
     i, j: byte;
     A: array [1..k, 1..m] of integer;
     imax,jmax, kol, z: integer;
   begin
  imax := 1;
  jmax := 1;
     for i := 1 to k do
       for j := 1 to m do
         A[i, j] := StrToInt(StringGrid1.Cells[j, i]);
           if a[i, j] > a[imax, jmax] then
      begin
        imax := i;
        jmax := j;
      end;
 
     for i := 1 to k do  begin
 
 
       StringGrid2.Cells[0, 0] := FloatToStr(imax);
         StringGrid2.Cells[1, 0] := FloatToStr(jmax);
         StringGrid2.Cells[2, 0] := FloatToStr(a[imax, jmax]);
         end;
     kol:=0;
          for i := 1 to k do
            z:=0;
       for j := 1 to m do
         begin
      if a[i,j]=0 then        z:=1;   end;
      if z=1 then inc(kol);
      for i := 1 to k do  begin
     StringGrid3.Cells[0, 0] := FloatToStr(kol);
         StringGrid3.Cells[1, 0] := FloatToStr(imax);
         StringGrid3.Cells[2, 0] := FloatToStr(jmax]);
   end;
  end;
 
end.
как оформить Количество нулевых элементов матрицы и их индексы
1
Миниатюры
Подсчитать количество нулевых элементов матрицы и напечатать их индексы  
Puporev
Модератор
54586 / 42092 / 29061
Регистрация: 18.05.2008
Сообщений: 99,292
19.01.2015, 12:14 3
По моему лучше так.
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Grids,
  StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Memo1: TMemo;
    StringGrid1: TStringGrid;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
  a:array of array of integer;
  n,m: integer;
implementation
 
{$R *.lfm}
//определение простого числа
uses crt;
function prost(x:integer):boolean;
var  y:integer;
begin
if x<2 then result:=false//0,1 не простое
else if x=2 then result:=true//2 простое
else if x mod 2=0 then result:=false//четные больше 2 не простые
else
 begin
  result:=true;
  y:=3;
  while(y*y<=x)and result do
  if x mod y=0 then result:=false
  else inc(y,2);
 end;
end;
 
{ TForm1 }
 
procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
//зададим некоторые параметры таблицы, Memo и Edit
with StringGrid1 do
 begin
  fixedCols:=0;
  fixedRows:=0;
  defaultColwidth:=30;
  scrollBars:=ssBoth;
 end;
Memo1.Clear;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
//проверим ввод размеров
val(Edit1.Text,n,i);
if (i<>0)or (n<1)then
 begin
  ShowMessage('Неверно введено количество строк');
  Edit1.Clear;
  Edit1.SetFocus;
  exit
 end;
val(Edit2.Text,m,i);
if (i<>0)or (m<1)then
 begin
  ShowMessage('Неверно введено количество столбцов');
  Edit2.Clear;
  Edit2.SetFocus;
  exit
 end;
StringGrid1.RowCount:=n;
StringGrid1.ColCount:=m;
Setlength(a,n,m);
for i:=0 to n-1 do
for j:=0 to m-1 do
 begin
  a[i,j]:=random(10);
  StringGrid1.Cells[j,i]:=IntToStr(a[i,j]);
 end;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var i,j,max,imx,jmx,k:integer;
begin
Memo1.Lines.Add('Индексы нулевых элементов');
max:=0;
k:=0;
for i:=0 to n-1 do
for j:=0 to m-1 do
 begin
  if a[i,j]=0 then
   begin
    k:=k+1;
    Memo1.Lines.Add(inttostr(i+1)+ '  '+inttostr(j+1));
   end;
  if prost(a[i,j])and(a[i,j]>max) then
   begin
    max:=a[i,j];
    imx:=i+1;
    jmx:=j+1
   end;
 end;
if k=0 then Memo1.Lines.Add('Нет нулевых элементов')
else Memo1.Lines.Add('Их количество='+inttostr(k));
if max=0 then Edit3.Text:='В матрице нет простых чисел'
else Edit3.Text:='Максимальное простое='+inttostr(max)+
                 ' в строке '+inttostr(imx)+
                 ' в столбце '+inttostr(jmx);
 
end;
 
end.
0
Вложения
Тип файла: rar максимальный простой.rar (4.5 Кб, 17 просмотров)
Ананаско
2 / 2 / 0
Регистрация: 23.11.2014
Сообщений: 60
19.01.2015, 14:40  [ТС] 4
Puporev, форма в файле не открывается..
0
Puporev
Модератор
54586 / 42092 / 29061
Регистрация: 18.05.2008
Сообщений: 99,292
19.01.2015, 14:45 5
Так Вы откройте программу и запустите не выполнение например нажав F9

Добавлено через 56 секунд
А вообще я выложил полный код, можете сами создать проект.
0
19.01.2015, 14:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2015, 14:45

Подсчитать количество отрицательных элементов ряда
2. Подсчитать количество отрицательных элементов ряда Ai = (Ai-1*4 – Ai-2...

Подсчитать количество отрицательных элементов ряда
Подсчитать количество отрицательных элементов ряда Ai=(A1*4-A2)/9-5 ...

В каждой строке матрицы найти количество элементов, больших среднего арифметического всех элементов этой строки
2) Дана матрица размера 6 х 9. В каждой строке найти количество элементов,...


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

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

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