Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: !! Тема должная отражать суть решаемой проблемы.\nИ для учебных задач предназначен раздел "Помощь студентам"!
Старый 30.01.2012, 18:50   #1
Юлийа
 
Регистрация: 30.01.2012
Сообщений: 8
Восклицание Ввести матрицу 5х10 и найти в ней количество элементов, больших и меньших среднего арифметического (Delphi)

срочно нужна помощь в решении задачи.. Дана матрица размера 5 х 10. Элементы массива вводятся с клавиатуры. В каждой строке и столбце найти количество элементов, больших и меньших среднего арифметического всех элементов этой строки и столбца.
Юлийа вне форума Ответить с цитированием
Старый 30.01.2012, 18:54   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,759
По умолчанию

Срочно иди во фриланс или выкладывай свой код и вопрос что именно не получается.
FaTaL вне форума Ответить с цитированием
Старый 30.01.2012, 18:57   #3
Юлийа
 
Регистрация: 30.01.2012
Сообщений: 8
По умолчанию

не знаю что именно не так,
Код:
uses
  SysUtils;
 
// матрица размером 5 x 10
var
  M: array [1..5, 1..10] of Integer;
 
// это вместо ввода с клавиатуры
// заполнить матрицу случайными числами от 1 до 100
procedure InputMatrix;
var
  i, j: Integer;
begin
  Randomize;
  for i := 1 to 5 do
    for j := 1 to 10 do
    begin
      M[i, j] := Random(100) + 1;
    end;
end;
 
// среднее арифмерическое заданной строки
// nR - номер строки матрицы для которой нужно определить ср. арифм.
function AvgRow(nR: Integer): Double;
var
  i: Integer;
begin
  Result := 0;
  for i := 1 to 10 do
    Result := Result + M[nR, i];
  Result := Result / 10;
end;
 
// среднее арифмерическое заданного столбца
// nC - номер столбца матрицы для которой нужно определить ср. арифм.
function AvgCol(nC: Integer): Double;
var
  i: Integer;
begin
  Result := 0;
  for i := 1 to 5 do
    Result := Result + M[i, nC];
  Result := Result / 5;
end;
 
// ищет кол-во элементов меньше заданного N
// в строке матрицы с номером nR
function FindMinInRow(N: Double; nR: Integer): Integer;
var
  i: Integer;
begin
  Result := 0;
  for i := 1 to 10 do
    if N > M[nR, i] then
      Result := Result + 1;
end;
 
// ищет кол-во элементов больше заданного N
// в строке матрицы с номером nR
function FindMaxInRow(N: Double; nR: Integer): Integer;
var
  i: Integer;
begin
  Result := 0;
  for i := 1 to 10 do
    if N < M[nR, i] then
      Result := Result + 1;
end;
 
// ищет кол-во элементов меньше заданного N
// в столбце матрицы с номером nC
function FindMinInCol(N: Double; nC: Integer): Integer;
var
  i: Integer;
begin
  Result := 0;
  for i := 1 to 5 do
    if N > M[i, nC] then
      Result := Result + 1;
end;
 
// ищет кол-во элементов больше заданного N
// в столбце матрицы с номером nC
function FindMaxInCol(N: Double; nC: Integer): Integer;
var
  i: Integer;
begin
  Result := 0;
  for i := 1 to 5 do
    if N < M[i, nC] then
      Result := Result + 1;
end;
 
// печать на экран результата строки
procedure PrintRowAndResult(nR: Integer; Avg: Double; Min, Max: Integer);
var
  i: Integer;
begin
  for i := 1 to 10 do
    Write(M[nR, i]:3, ' ');
  Write ('   ');
  Write('Avg = ', Avg:3:2, ' ');
  Write('Min = ', Min, ' ');
  Write('Max = ', Max, ' ');
  Writeln;
end;
 
// печать на экран результата столбца
procedure PrintColAndResult(nC: Integer; Avg: Double; Min, Max: Integer);
var
  i: Integer;
begin
  for i := 1 to 5 do
    Write(M[i, nC]:3, ' ');
  Write ('   ');
  Write('Avg = ', Avg:3:2, ' ');
  Write('Min = ', Min, ' ');
  Write('Max = ', Max, ' ');
  Writeln;
end;
 
var
  k, n, Min, Max: Integer;
  Avg: Double;
 
begin
  InputMatrix;
  Writeln('Results in rows:');
  for k := 1 to 5 do
  begin
    Avg := AvgRow(k);
    Min := FindMinInRow(Avg, k);
    Max := FindMaxInRow(Avg, k);
    PrintRowAndResult(k, Avg, Min, Max);
  end;
  Writeln('Results in columns:');
  for k := 1 to 10 do
  begin
    Avg := AvgCol(k);
    Min := FindMinInCol(Avg, k);
    Max := FindMaxInCol(Avg, k);
    PrintColAndResult(k, Avg, Min, Max);
  end;
  Readln;
end.

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 30.01.2012 в 23:02.
Юлийа вне форума Ответить с цитированием
Старый 30.01.2012, 19:52   #4
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Всё у вас нормально в программе. Что Вы кипишуете?!
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 30.01.2012, 21:20   #5
Юлийа
 
Регистрация: 30.01.2012
Сообщений: 8
По умолчанию

Rin, делфи выдает ошибку..
Юлийа вне форума Ответить с цитированием
Старый 30.01.2012, 21:38   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Какую? Или это секрет Пентагона?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.01.2012, 21:49   #7
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Юлийа
В какой именно, функции, выдается ошибка?
VintProg вне форума Ответить с цитированием
Старый 05.03.2012, 09:43   #8
Юлийа
 
Регистрация: 30.01.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Какую? Или это секрет Пентагона?
везде.. почти на каждой строчке.. когда пишу решение с окошком (создается окошко где есть кнопки"вычислить","выйти",надо вводить цифры..) а когда без окошка то все нормально и программа запускается.. извините за примитивное описание)))
Юлийа вне форума Ответить с цитированием
Старый 05.03.2012, 09:50   #9
Юлийа
 
Регистрация: 30.01.2012
Сообщений: 8
По умолчанию

помогите пожалуйста! дотянула уже до последнего срока.. завтра надо сдавать задачу...
Юлийа вне форума Ответить с цитированием
Старый 05.03.2012, 09:59   #10
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
когда пишу решение с окошком (создается окошко где есть кнопки"вычислить","выйти",надо вводить цифры..) а когда без окошка то все нормально и программа запускается..
Какое окошко? вы у вас программа написана для консоли!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести массив вещественных чисел NxM для заданной строки массива найти два самых больших числа (на C#) владислав10 Помощь студентам 1 10.04.2011 14:10
Вычисление среднего арифметического элементов массива. Не выполняется команда div. Ibanez Wizard Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 28.03.2011 16:54
Вычисление среднего арифметического положительных элементов. Adrenalin4 Visual C++ 18 01.11.2010 17:11
количество элементов матрицы, больших среднего арифмитического всех её элементов finch Помощь студентам 3 27.08.2007 15:48