Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Помогите решить срочно,плиз!!!


Автор: -=KING=- 4.4.2003, 20:56
1) Двумерный массив А(13,14) заполнен случайным образом целыми числами в диапазоне от -500 до 500.Найти среднее значение по каждому столбцу и каждой строке и кол-во элементов ,превышающих найденное среднее значение по каждому столбцу и каждой строке.Вывести исходный массив и найденные значения на экран.
2) Даны 3 числа.Напишите программу ,которая находит среди них пару чисел с наименьшим общим кратным.Числа вводятся с клавиатуры.Наименьшее общее кратное пар чисел определяется в подпрограмме.


ПОЖАЛУЙСТА РЕШИТЕ,ОЧЕНЬ СРОЧНО!!!!

Автор: Vit 4.4.2003, 21:23
Посмотри модуль Math в стандартной поставке Дельфи там кажись эти функции уже реализованы. Или важно решение, а не результат? Это студенческая задача или реальная необходимость?

Автор: -=KING=- 5.4.2003, 09:21
мне нужно решение задач,курсовая горит

Автор: <Spawn> 6.4.2003, 06:41
Попробуй так, заполнение отрицательными числами сделай сам, так как ща некогда искать это(может воспользоваться обчнам Random, но сделать числа отрицательными)

Код
type
Tmas_J=record
 J:array[1..13] of integer;
 Count:array[1..13] of integer;
end;

Tmas_I=record
 I:array[1..14] of integer;
 Count:array[1..14] of integer;
end;

var
Form1:TForm1;
mas:array[1..13,1..14] of integer;
mas_J:Tmas_J;
mas_I:Tmas_I;


procedure TForm1.FormCreate(Sender: TObject);
var
i, j:integer;
begin
Randomize;
for i:=1 to 13 do
for j:=1 to 14 do
 Mas[i,j]:=Random(501);
end;

procedure TForm1.Button1Click(Sender:TObject);
var
ShowI, ShowJ, ShowICount, ShowJCount:string;
Sum, i, j, m:integer;
begin
Sum:=0;
ShowJ:='строках: ';
ShowI:='столбцах: ';
ShowICount:=' в строках: ';
ShowJCount:='в столбцах: ';

for i:=1 to 13 do
begin
Mas_I.Count[i]:=0;
Mas_J.Count[i]:=0;
end;
Mas_I.Count[14]:=0;


for i:=1 to 13 do
for j:=1 to 14 do
 begin
  Sum:=Sum+mas[i,j];
  if j =14 then
   begin
    mas_J.J[i]:=Round(Sum/14);
    ShowJ:=ShowJ+IntToStr(mas_J.J[i])+', ';
    Sum:=0;
    for m:=1 to 14 do
     if mas[i,m]>mas_J.J[i] then
      Inc(mas_J.Count[i]);
     ShowJCount:=ShowJCount+IntToStr(mas_J.Count[i])+', ';
   end;
 end;

for j:=1 to 14 do
for i:=1 to 13 do
 begin
  Sum:=Sum+mas[i,j];
  if i=13 then
   begin
    mas_I.I[j]:=Round(Sum/13);
    ShowI:=ShowI+IntToStr(Mas_I.I[j])+', ';
    Sum:=0;
    for m:=1 to 13 do
     if mas[m,j]>mas_I.I[j] then
      Inc(mas_I.Count[j]);
    ShowICount:=ShowICount+IntToStr(mas_I.Count[j])+', ';
   end;
  end;

ShowMessage('Среднее арифметическое: '+#13+ShowJ+#13+ShowI+#13+
           'Количестов элементов, превышающих среднее значение: '+#13+
           ShowJCount+#13+ShowICount)
end;

Автор: <Spawn> 6.4.2003, 07:29
Вторая задача. Только тебе, видимо, нужно в Паскале, так что переделай сам)

Код
type
TMas=record
  a:array[1..3] of integer;
  found:array[1..3] of Boolean;
 end;

var
 Form1: TForm1;
 mas:TMas;

implementation

{$R *.dfm}

procedure FindMinKrat(MaxCount:integer);
var
i, j, m, Count:integer;
begin
Res:='';
Count:=0;
for i:=2 to MaxCount do
begin
 for j:=1 to 3 do
  begin
   if (mas.a[j] mod i)=0 then
    begin
     mas.found[j]:=True;
     Inc(Count);
    end;
   if Count=2 then
    begin
     for m:=1 to 3 do
      if mas.found[m] then Res:=Res+IntToStr(mas.a[m])+'  ';
     ShowMessage('Числа, имеющие общее кратное: '+Res+#13+'Кратное: '+IntToStr(i));
     Exit;
    end;
  end;
  Count:=0;
end;
ShowMessage('Таких значений не найдено')
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i, MaxCount:integer;
Res:String;
begin
try
mas.a[1]:=StrToInt(Edit1.Text);
mas.a[2]:=StrToInt(Edit2.Text);
mas.a[3]:=StrToInt(Edit3.Text);
except
ShowMessage('Вы задали неправильные значения');
Exit;
end;

for i:=1 to 3 do
mas.found[i]:=False;

MaxCount:=mas.a[1];
for i:=2 to 3 do
if mas.a[i]<MaxCount then MaxCount:=mas.a[i];

FindMinKrat(MaxCount)

end;

Автор: Pakshin A. S. 6.4.2003, 18:22
Удалено модератором

Автор: Unregistered 6.4.2003, 19:45
Удалено модератором

Автор: serious 6.4.2003, 19:54
Удалено модератором

Автор: <Spawn> 6.4.2003, 20:00
Удалено модератором

Автор: serious 6.4.2003, 20:05
Удалено модератором

Автор: <Spawn> 7.4.2003, 06:17
Удалено модератором

Автор: 78125 7.4.2003, 08:35
Удалено модератором

Автор: Vit 7.4.2003, 15:27
Модератор: господа! Для флейма есть специальный раздел, здесь обсуждаем лишь заданный вопрос.

Автор: man2002ua 7.4.2003, 16:13
Цитата
Удалено модератором

ну и беседа smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)