0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 13
1

Заданы два массива. Проверить, что максимальный элемент массива A больше максимального элемента массива B

21.12.2014, 00:29. Показов 1760. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заданы два массива: A={a1, a2, a3, a4}, B={b1, b2…..b6}.
Переменной S присвоить значение –1, если максимальный элемент массива A больше максимального элемента массива B; значение 0, если максимальные элементы равны и значение 1, в оставшемся случае.
Поиск максимального элемента оформить в виде подпрограммы функции.
Исходные данные: A={-5.2; 8.1; 1.3; 8.25};
B={6.4; 3.1; 8.12; 7.9; 8.0; 3.5}.

Помогите, плииз, программа не работает, выдает ошибку, что делать?
Перепробовала все, друзей просила, одна ошибка меняется на другую...
ХЕЛП!
Вложения
Тип файла: zip Делфи.zip (204.0 Кб, 9 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2014, 00:29
Ответы с готовыми решениями:

Переменной S присвоить значение -1, если максимальный элемент массива А больше максимального элемента В
Ребята помогите решить задачу. нужно решение. Остался час на сдачу зачёта. Буду благодарна Вам за...

Переменной S присвоить значение -1, если максимальный элемент массива А больше максимального элемента В
Заданы два массива А(4), B(6). Переменной S присвоить значение -1, если максимальный элемент...

Переменной присвоить значение равное 1, если максимальный элемент массива А больше максимального элемента В
2.Даны массивы A из N элементов, и B из M элементов.Переменной С присвоить значение равное 1,если...

Когда элемент одного массива больше элемента другого массива, то тот элемент что больше расскладывается на меньшие элементы
ребят не могу подобрать алгоритм ,такой что когда елемент одного массива больше елемента другого...

9
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
21.12.2014, 02:23 2
Лучший ответ Сообщение было отмечено AnjelaOrlova как решение

Решение

вот проект
Вложения
Тип файла: rar AnjelaOrlova.rar (2.16 Мб, 5 просмотров)
0
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
21.12.2014, 02:28 3
AnjelaOrlova, зачем так делать?!??!
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.FormCreate(Sender: TObject);
begin
label1.Caption:='Массив А: ';
label2.Caption:='Массив B: ';
label3.Caption:='Максимальный элемент массива А: ';
label4.Caption:='Максимальный элемент массива B: ';
label5.Caption:='Значение переменной S: ';
label6.Caption:='Cумма элементов массива А:';
label7.Caption:='Cумма элементов массива B:';
end;
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption:='Массив А: ';
label2.Caption:='Массив B: ';
label3.Caption:='Максимальный элемент массива А: ';
label4.Caption:='Максимальный элемент массива B: ';
label5.Caption:='Значение переменной S: ';
.....
end;
Добавлено через 2 минуты
Цитата Сообщение от AnjelaOrlova Посмотреть сообщение
Заданы два массива: A={a1, a2, a3, a4}, B={b1, b2…..b6}.
а = 4 елемента
b = 6 елементов
а в коде написано так
Delphi
1
2
const a:mass=(-5.2,8.1,1.3,8.25,13.9,4.5);
      b:mass=(6.4,3.1,8.12,7.9,8.0,3.5);
a = b = 6
0
0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 13
21.12.2014, 15:39  [ТС] 4
Исправила, то что вы сказали, но ошибку по прежнему выходит, что делать?
Миниатюры
Заданы два массива. Проверить, что максимальный элемент массива A больше максимального элемента массива B  
0
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
22.12.2014, 00:14 5
AnjelaOrlova, посмотри что у вас написано на type mas????
на размер массива
0
0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 13
22.12.2014, 03:28  [ТС] 6
mass=array[1..6] of real;
я меняла и 4 пробовала задать, все равно ошибка вылезает, не эта, так другая
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
type
 
     mass=array[1..6] of real;
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
 
    Form1: TForm1;
    i,s:integer;
const a:mass=(-5.2,8.1,1.3,8.25);
      b:mass=(6.4,3.1,8.12,7.9,8.0,3.5);
implementation
 
{$R *.dfm}
function sum(a:mass):real;
begin
result:=0;
for i:=1 to 6 do
result:= a[i]+result
end;
 
function max(a:mass):real;
begin
result:=a[1];
for i:=2 to 6 do
if a[i]>result then result:=a[i];
end;
procedure TForm1.Button1Click(Sender: TObject);
 
begin
label1.Caption:='Массив А: ';
label2.Caption:='Массив B: ';
label3.Caption:='Максимальный элемент массива А: ';
label4.Caption:='Максимальный элемент массива B: ';
label5.Caption:='Значение переменной S: ';
for i:=1 to 6 do
label1.Caption:=label1.Caption+format('%7.2f',[a[i]]);
for i:=1 to 6 do
label2.Caption:=label2.Caption+format('%7.2f',[b[i]]);
 label3.Caption:=label3.Caption+format('%7.2f',[max(a)]);
 label4.Caption:=label4.Caption+format('%7.2f',[max(b)]);
 if max(a)>max(b) then s:=-1
 else if max(a)=max(b) then s:=0
                         else s:=1;
 label5.Caption:=label5.Caption+inttostr(s);
 label6.Caption:=label6.Caption+format('%7.2f',[sum(a)]);
 label7.Caption:=label7.Caption+format('%7.2f',[sum(b)]);
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
label1.Caption:='Массив А: ';
label2.Caption:='Массив B: ';
label3.Caption:='Максимальный элемент массива А: ';
label4.Caption:='Максимальный элемент массива B: ';
label5.Caption:='Значение переменной S: ';
end;
 
end.
0
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
23.12.2014, 10:55 7
AnjelaOrlova, у тебе перемен а,b типа mass
для а ты делаеш 4,а для b = 6;
смотрим на твой код
Цитата Сообщение от AnjelaOrlova Посмотреть сообщение
mass=array[1..6] of real;
Цитата Сообщение от AnjelaOrlova Посмотреть сообщение
const a:mass=(-5.2,8.1,1.3,8.25);
b:mass=(6.4,3.1,8.12,7.9,8.0,3.5);
посмотри внимательно
а,b = mass = 6
ок
считаем к-ство
а = 4
b = 6
0
0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 13
23.12.2014, 23:12  [ТС] 8
ну, вроде все так
задаю массив
mass=array[1..4,1..6] of real;
ошибка выходит:
[Error] Unit1.pas(33): Incompatible types: 'Array' and 'Extended'
0
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
24.12.2014, 10:56 9
так создали 2-х массив
вам нужно создать 2 РАЗНЫХ типа данных для массива на 4 и 6 елементов
mas1 = array [1..4] of real;
mas2 = array [1..6] of real;
0
0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 13
07.01.2015, 15:25  [ТС] 10
Всех с Рождеством!)
Я , вообщем, разобралась уже
но, есть несколько но, когда объявляю два разных массив на отличающееся кол-во элементов, то там нельзя использовать подпрограмму, которая ругается на счет счетчика, который один на двоих.
Так вот, суть вопроса, как создать два разных счетчика?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2015, 15:25
Помогаю со студенческими работами здесь

Если максимальный элемент массива А больше минимального элемента массива В, поменять данные элементы местами
Задача, вроде, не сложная, может есть у кого готовая такая? Мне её на разбор надо.. Помогите,...

Определить, что больше: максимальный элемент массива А[10] или минимальный элемент массива В[7]
Определить, что больше: максимальный элемент массива А или минимальный элемент массива В. Поставить...

Поменять местами максимальный элемент массива и минимальный элемент части массива, расположенной после максимального
Задача Поменять местами максимальный элемент массива и минимальный элемент части массива,...

Вывести элементы массива, абсолютное значение которых больше максимального элемента массива
Сгенерировать и вывести массив. Вывести элементы массива, абсолютное значение которых больше...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru