Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 9

Найти min элемент в А и min элемент в B, если min A < min B, то обнулить главную диагональ в А, иначе в В

09.06.2014, 16:15. Показов 1565. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят помогите пожалуйста с задачей, не понимаю как ее решить, завтра за нее голову отрубят..

Найти min элемент в А и min элемент в B, если min A < min B, то обнулить главную диагональ в А, иначе в В. А 5*5 В 5*5, Bij=sin(I)+cos(I)

Заранее огромное спасибо!!!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.06.2014, 16:15
Ответы с готовыми решениями:

Даны действительные числа a, b. Рассчитать Y=min(a,b), Y1=min(min(a*b,a+b), min(a2 –b*a,b3-3*a), Y2=min(Y12+Y
Даны действительные числа a, b. Рассчитать Y=min(a,b), Y1=min(min(a*b,a+b), min(a2 –b*a,b3-3*a)), Y2=min(Y12+Y,5.25), где min(x,x1)...

В каждой строке найти min элемент и поместить его на главную диагональ
Задача: Дан массив n*n В каждой строке найти min элемент и поместить его на главную диагональ. Проблема: Как поместить на главную...

Массив: Получить min(a1;a2;a3)+min(a4;a5;a6)+min(a7;a8;a9)+min(a10;a11;a12) .
Заполнить массив а1,а2,а3...а12 случайными числами от 0 до 20. Получить min(a1;a2;a3)+min(a4;a5;a6)+min(a7;a8;a9)+min(a10;a11;a12) .

17
52 / 72 / 20
Регистрация: 23.01.2013
Сообщений: 273
09.06.2014, 16:35
А матрица А как задается? И что непонятно, как решить?
0
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 9
09.06.2014, 16:53  [ТС]
Вот в чем проблема, что никак...
Решить в Delphi 7, если бы я знал как, явно бы не обратился за помощью, верно?)
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
09.06.2014, 17:03
Цитата Сообщение от Grishasychev Посмотреть сообщение
если бы я знал как, явно бы не обратился за помощью, верно?)
Суть в том, что задание не полное.
Не ясно, каким образом заполняется матрица A.
(подсказываю, варианты:
- элементы заполняются по формуле, аналог. см. заполнение матрицы B
- элементы заполняются случайным образом (диапазон задаётся)
- элементы матрицы вводятся вручную пользователем программы (например, через StringGrid)
- элементы матрицы считываются из файла
- ещё как-то...)

Ведь условия задачи мы же за Вас не будем додумывать, верно?!
1
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 9
09.06.2014, 21:41  [ТС]
Блиииин, нашел, Aij=cos(I)*sin(I)-10
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
09.06.2014, 22:12
Цитата Сообщение от Grishasychev Посмотреть сообщение
Bij=sin(I)+cos(I)
Цитата Сообщение от Grishasychev Посмотреть сообщение
Aij=cos(I)*sin(I)-10
внимательно проверьте ещё раз, в формулах точно J не используется? (было бы логично, чтобы элементы в строке отличались друг от друга, а по данным формулами все элементы в одной строке матрицы будут одинаковы (в формуле индекс строки i и нет зависимости от индекса столбца j)

Это не принципиально для написания кода, но вот при сдаче работы могут быть вопросы/претензии у преподавателя!
1
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 9
09.06.2014, 23:06  [ТС]
Дружище, это точно!!
По крайней мере именно такое задание мне предоставили!
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
10.06.2014, 00:32
ОК. Теперь давайте попытаемся вместе написать решение.

для этого нужно:
1) объявить динамические массивы A и B (строго говоря, раз тут жёстко заданы размеры, то динамические массивы не обязательно, но, раз уж такое задание, надо их использовать. кроме того, возможно, что размерность массива препод захочет задавать во время работы программы...)

2) выделить под массивы память и заполнить их по формулам
(тут же желательно визуализировать содержимое массивов, чтобы пользователь видел, что там в массивах...
Вы какую программу собираетесь писать - с формами или в окошке-консольную?!)

3) найти минимальные значения в массивах (это желательно делать функцией)

4) сравнить значения массивов и обнулить главную диагональ (можно тоже через процедуру написать)

5) вывести массив, в котором мы обнулили диагональ.

конец.

Ответьте на вопросы, которые я выше привел.
И какие из пунктов Вы можете сделать? Какие вызывают сложности?
0
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 9
10.06.2014, 00:37  [ТС]
Мне писать, как в окошке делфи?
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
10.06.2014, 00:50
Цитата Сообщение от Grishasychev Посмотреть сообщение
Мне писать, как в окошке делфи?
погодите. Это я Вас спрашиваю. Вы какую программу планируете написать (и сдать):

Которая виндузовская, с формами, контролами, кнопками и т.д. ?
либо консольную (т.е. такую, которая запускается в окошке, вывод строк на экран, ввод с клавиатуры)?

p.s. и что по пунктам алгоритма решения? Всё понятно?
0
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 9
10.06.2014, 01:20  [ТС]
Надо чтобы получилось вот это!

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
55
56
57
58
59
60
61
62
63
64
65
66
67
type mat=array [1..n,1..n] of real;
var a,b:mat; i,j:integer; SpA,SpB,S:real;
procedure print(m:mat);
var i,j:integer; 
begin 
for i:=1 to n do begin
for j:=1 to n do write(m[i,j]:5:3);
writeln; end;
end;
Begin writeln('введите А');
for i:=1 to n do
for j:=1 to n do
readln(a[i,j]);
For i:=1 to n do 
for j:=1 to n do 
if (i+j)>5 then b[i,j]:=i+2*j
else b[i,j]:=i-sin(j);
SpA:=0; SpB:=0; S:=0;
for i:=1 to n do begin
SpA:=SpA+a[i,i];
SpB:=SpB+b[i,i];
end;
for i:=1 to n do
for j:=1 to n do 
if SpA>SpB then s:=s+a[i,j]
else s:=s+b[i,j];
writeln('матрица А');
print(a);
writeln('матрица В');
print(b);
writeln('SpA=',SpA:5:3,'':3,'SpB=',SpB:5:3,'':3,'S=',S:6:3)
end.
 
[size="1"][color="grey"][I]Добавлено через 6 минут[/I][/color][/size]
Нужно чтобы получилась вот такая програма, только по моему заданию, а не понимаю как делать..
type mat=array [1..n,1..n] of real;
var a,b:mat; i,j:integer; SpA,SpB,S:real;
procedure print(m:mat);
var i,j:integer; 
begin 
for i:=1 to n do begin
for j:=1 to n do write(m[i,j]:5:3);
writeln; end;
end;
Begin writeln('введите А');
for i:=1 to n do
for j:=1 to n do
readln(a[i,j]);
For i:=1 to n do 
for j:=1 to n do 
if (i+j)>5 then b[i,j]:=i+2*j
else b[i,j]:=i-sin(j);
SpA:=0; SpB:=0; S:=0;
for i:=1 to n do begin
SpA:=SpA+a[i,i];
SpB:=SpB+b[i,i];
end;
for i:=1 to n do
for j:=1 to n do 
if SpA>SpB then s:=s+a[i,j]
else s:=s+b[i,j];
writeln('матрица А');
print(a);
writeln('матрица В');
print(b);
writeln('SpA=',SpA:5:3,'':3,'SpB=',SpB:5:3,'':3,'S=',S:6:3)
end.
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
10.06.2014, 01:21
это консольное приложение.
вопрос - в названии темы "динамические массивы", вы знаете что это такое и чем отличается от статического?
Вам точно динамические нужны?!
0
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 9
10.06.2014, 01:23  [ТС]
Нет не знаю...
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
10.06.2014, 01:26
мда.. загадка..
ладно. сделаем со статическими, как в приведённом вами коде.
так реально проще.
Но, если Вам реально нужны были динамические массивы - я не виноват!!!
0
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 9
10.06.2014, 01:34  [ТС]
И так раз мы определились, давайте продолжим...!)
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
10.06.2014, 01:40
Лучший ответ Сообщение было отмечено Grishasychev как решение

Решение

получите и распишитесь!
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
program Project11;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
const n = 5;
type mat = array[1..n, 1..n] of real;
 
procedure print(m: mat);
var i, j: integer;
begin
  for i := 1 to n do begin
    for j := 1 to n do write(m[i, j]: 8: 3,'  ');
    writeln; 
  end;
end;
 
procedure FillA(var m: mat);
var i, j: integer;
begin
  for i := 1 to n do
    for j := 1 to n do m[i,j] := cos(i)*sin(i)-10.0;
end;
 
procedure FillB(var m: mat);
var i, j: integer;
begin
  for i := 1 to n do
    for j := 1 to n do m[i,j] := sin(I)+cos(I);
end;
 
function minMatrix(m:mat) : real;
var i, j: integer;
begin
  Result := m[1,1];
  for i := 1 to n do
    for j := 1 to n do
     if m[i,j]<Result then Result := m[i,j];
end;
 
procedure FillZeroMainDiagonal(var m: mat);
var i: integer;
begin
  for i := 1 to n do m[i,i] := 0;
end;
 
 
 
var a, b: mat; 
  minA, minB  : real;
 
begin 
 
  FillA( a );
 
  FillB( b );
 
  WriteLn('array A : ');
  print( a );
 
  WriteLn('array B : ');
  print( b );
 
 
  minA := minMatrix( a );
  minB := minMatrix( b );
 
  WriteLn('minimal A = ', minA : 5 : 3);
  WriteLn('minimal B = ', minB : 5 : 3);
 
  if minA < MinB 
    then begin 
      WriteLn('fill zero values main diagonal in matrix A.');
      FillZeroMainDiagonal( a );
      WriteLn('array A : ');
      print( a );
    end
    else begin
      WriteLn('fill zero values main diagonal in matrix B.');
      FillZeroMainDiagonal( b );
      WriteLn('array B : ');
      print( b );
   end;
   readln   
end.
1
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 9
10.06.2014, 01:55  [ТС]
Спасииииибо огромное, я не знаю как отблагодарить!!!!!
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
10.06.2014, 02:04
Пожалуйста! Успехов в учёбе!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.06.2014, 02:04
Помогаю со студенческими работами здесь

Определить min из трёх введённых чисел. Если min отр-ное число, то найти кол-во полож-ных, а иначе сумму чисел
Пример для написания программы следующее задание и программа к нему:)&quot;Определить среди 3 введённых чисел (a,b,c) количество отрицательных и...

18. Даны различные действительные числа x, y, z, d. Найти max (min (x, y), min (x, z), min (z, d)
Даны различные действительные числа x, y, z, d. Найти max (min (x, y), min (x, z), min (z, d)).

Даны действительные числа x,y,z. Вычислить (min(x,y)+min(y,z)+min(x,z))/min(x,y,z)
Даны действительные числа x,y,z. Вычислить (min(x,y)+min(y,z)+min(x,z))/min(x,y,z). Подскажите, пожалуйста, ход решения.

Даны действительные числа a, b. Рассчитать Y=min(a,b), Y1=min(min(a*b,a+b), min(a2 –b*a,b3-3*a)
Даны действительные числа a, b. Рассчитать Y=min(a,b), Y1=min(min(a*b,a+b), min(a2 –b*a,b3-3*a)), Y2=min(Y12+Y,5.25), где min(x,x1)...

Даны значения c, d, m, k. Напишите функцию min для вычисления значения следующего выражения: (min(c+d,m,k)+min(k,c,m))/(3+min(k,d-m,c+m)).
Даны значения c, d, m, k. Напишите функцию min для вычисления значения следующего выражения: ...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru