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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2010, 22:15   #1
dukesoteg
 
Регистрация: 10.06.2010
Сообщений: 8
Стрелка Функции

Дана последовательность действительных чисел a1; a2; ...; an. Заменить все ее члены, большие данного M, этим числом. Подсчитать количество замен.

Вот эту задачку нужно решить с помощью функций.
Как это исполнить??

(Ввод/вывод должны быть решены с помощью функций)

Код:
uses crt;
var a:array[1..50]of real;
                n,i,k:integer;
                        M:real;
begin
clrscr; randomize;
write('n='); readln(n);
write('M='); readln(M);
for i:=1 to n do
begin
a[i]:=random(10)+random;
write(a[i]:5:2);
end;
writeln;
k:=0;
for i:=1 to n do
if a[i]>M then
begin
k:=k+1;
a[i]:=M;
end;
for i:=1 to n do
write(a[i]:5:2);
 writeln;
 writeln('kol-vo zamen=',k);
 readln
end.
dukesoteg вне форума Ответить с цитированием
Старый 13.06.2010, 22:54   #2
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Код:
Uses
   CRT;
Type
   mas=array[1..50]of real;
var
  a:mas;
  n,i,k:integer;
  M:real;
  
function Vvod(Var a:mas):real;
begin
  clrscr;
  randomize;
  write('Введите количество элементов:=');
  readln(n);
      for i:=1 to n do
          begin
              a[i]:=random(10)+random;
          end;
end;

function Vivod(Var a:mas):real;
begin
   writeln('Исходный массив: ');
      for i:=1 to n do
         begin
            write(a[i]:1:3,' ');
         end;
end;

function zamena(Var a:mas):real;
begin
    write('Введите число для замены: ');
    readln(M);
    k:=0;
       for i:=1 to n do
         if a[i]>M then
            begin
                a[i]:=M;
                inc(k);
            end;
end;

function Vivod2(Var a:mas):real;
begin
    writeln('Результирующий массив: ');
        for i:=1 to n do
           begin
              write(a[i]:1:3,' ');
           end;
           writeln;
           writeln('kol-vo zamen=',k);
end;

begin
   Vvod(a);
   Vivod(a);
   writeln;
   Zamena(a);
   writeln;
   Vivod2(a);
   readkey;
end.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 13.06.2010, 23:35   #3
dukesoteg
 
Регистрация: 10.06.2010
Сообщений: 8
По умолчанию

круто! Мб еще это? =) //глазастый котэ из шрека

Код:
var a:array[1..100,1..100] of integer;
i,j,n:integer;
begin
write('vvedite razmer matrici: ');
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
begin
if (i=j) or (j=n-i+1) then a[i,j]:=1 else a[i,j]:=0;
write(a[i,j]:4); end;
writeln; end;
readln;
end.
dukesoteg вне форума Ответить с цитированием
Старый 14.06.2010, 00:09   #4
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Так:
Код:
Uses
   CRT;
Type
   mas=array[1..100,1..100] of integer;
var
  a:mas;
  i,j,n:integer;
  
  function matr(Var a:mas):integer;
begin
Clrscr;
write('vvedite razmer matrici: ');
readln(n);
  for i:=1 to n do
         for j:=1 to n do
               if (i=j) or (j=n-i+1) then
               a[i,j]:=1
               else
               a[i,j]:=0;

end;

function Vivod(Var a:mas):integer;
begin
   writeln('Матрица A: ');
      for i:=1 to n do
         begin
           for j:=1 to n do
              begin
                 write(a[i,j]:4,' ');
              end;
              writeln;
         end;
end;

begin
    Matr(a);
    Vivod(a);
    readkey;
end.
Или вот так:
Код:
Uses
   CRT;
Type
   mas=array[1..100,1..100] of integer;
var
  a:mas;
  i,j,n:integer;

  function matr(Var a:mas):integer;
begin
Clrscr;
write('vvedite razmer matrici: ');
readln(n);
  for i:=1 to n do
     begin
       for j:=1 to n do
           begin
              if (i=j) or (j=n-i+1) then a[i,j]:=1
              else a[i,j]:=0;
                write(a[i,j]:4,' ');
           end;
           writeln;
     end;
end;

begin
    Matr(a);
    readkey;
end.
にんじゃ

Последний раз редактировалось ROMA2PVT; 14.06.2010 в 00:11.
ROMA2PVT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функции в си. Вывод двумерного массива из функции. Evgen51 Общие вопросы C/C++ 9 13.05.2010 03:59
функции тотошкин Помощь студентам 7 15.01.2010 22:58
Чем отличается описание функции от определения функции в С++? Go6a Помощь студентам 4 18.07.2009 18:07
Функции. Передача массива в качестве параметра функции. Wia Помощь студентам 2 17.03.2009 14:57
Функции Vinni_puh Microsoft Office Excel 1 20.12.2007 05:51