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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2010, 01:32   #1
nick6161
 
Регистрация: 09.11.2010
Сообщений: 9
Вопрос Задачи на функции и процедуры в Turbo Pascal

1. Написать программу, которая состоит из 2х частей. В основной программе ввести элементы одномерного массива [1..5]. В функции найти максимальный элемент массива. Результат вывести в основную программу.
2. Составить программу из 2х частей. В основной ввести элементы двумерного массива [1..3,1..7]. В процедуре подсчитать сумму положительных и сумму отрицательных элементов массива. Результат вывести в основную программу.
3. Составить программу из 3х частей. В основной вывести элементы двумерного массива [1..5,1..8]. В процедуре найти максимальные и минимальные элементы массива. В функции найти максимальное количество нулевых элементов в массиве. Результаты вывести в основную программу.

Мои неудачные попытки решения первых двух задач.
1.
Код:
Program dz1;
var i,z:integer;
    m:array[1..5] of integer;
    function max(mas:array of integer; a:integer):integer;
begin
max:=mas[1];
if mas[a]>max then mas[a]:=max;
end;
begin
for i:=1 to 5 do
begin
write('введите элемент последовательности N',i);
readln(m[i]);
end; 
z:=max(m,i);
writeln('максимальный элемент массива=',z)
end.
2.
Код:
 program dz2;
 var i,j,s,o:integer;
     m:array[1..3,1..7] of integer;
begin
 s:=0;
 o:=0;
 writeln('введите значеия массива');
 for i:=1 to 3 do
 for j:=1 to 7 do
 readln(b[i,j]);    
 procedure Summa
 for i:=1 to 3 do
 for j:=1 to 7 do
 begin
 if (m[i,j])>0 then
 s:=s+m[i,j];
 if (m[i,j])<0 then
 o:=o+m[i,j];
 writeln(s);
 writeln(o);
 end;
Люди помогите пожалуйста. Очень нужно.

Последний раз редактировалось Stilet; 09.11.2010 в 09:47.
nick6161 вне форума Ответить с цитированием
Старый 09.11.2010, 01:43   #2
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

Задача 1.
Код:
type
  Tmas = array [1..5] of integer;
var
  i: byte;
  mas: Tmas;

  function MaxValue(a: Tmas): integer;
  var
     Max, i: integer;
  begin
     Max:=1;
     for i:=2 to 5 do
        if a[i] > Max then Max:=a[i];
     MaxValue:=Max
  end;

begin
   clrscr;
   for i:=1 to 5 do
      readln(mas[i]);
   write('Max = ',MaxValue(mas));
   readln;
end;
Задача 2.
Код:
type
  Tmas = array [1..3,1..7] of integer;
var
  i, j, Sum_a, Sum_b: integer;
  mas: Tmas;

  procedure Sum(const a: Tmas; var S1, S2: integer);
  var
    i, j: integer;
  begin
    S1:=0;
    S2:=0;
    for i:=1 to 3 do
      for j:=1 to 7 do
        if a[i,j] > 0 then S1:=S1 + a[i,j]
                       else  S2:=S2 + a[i,j];
  end;

begin
  for i:=1 to 3 do
    for j:=1 to 7 do
      readln(mas[i,j]);
  Sum(mas,Sum_a,Sum_b);
  writeln('Сумма положительных = ',Sum_a);
  writeln('Сумма отрицательных = ',Sum_b);
end;
ICQ: 593-013-807

Последний раз редактировалось Don Karleone; 09.11.2010 в 01:50.
Don Karleone вне форума Ответить с цитированием
Старый 09.11.2010, 01:49   #3
nick6161
 
Регистрация: 09.11.2010
Сообщений: 9
По умолчанию

Don Karleone
Спасибо огромное!
nick6161 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
3 задачи на процедуры и функции Rise Помощь студентам 6 31.05.2009 08:45
а free pascal не читает задачи которые написаны на turbo pascal? demonara Паскаль, Turbo Pascal, PascalABC.NET 3 25.05.2009 16:28
2 задачи на процедуры и функции KulOle Паскаль, Turbo Pascal, PascalABC.NET 2 08.12.2008 22:13
Turbo Pascal. Задача на функции/процедуры Manchester Помощь студентам 8 14.11.2008 22:00