IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> функция и процедура
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Женский

Репутация: -  0  +


нужна помощь срочно =) решить задачу по одномерному массиву через функцию, и задачу по двумерному массиву через процедуру. сами задачи уже решены, но вот через функцию и процедуру я решить не могу - по очень их понимаю

задача на одномерный массив: в целочисленной последовательности есть нулевые элементы. создать массив из номеров этих элементов.
Код

program massiv;
uses crt;
var
a,mas:array[1..100] of shortint;
i,n,k:byte;
begin
clrscr;
k:=0;
write ('vvedite n');
read(n);
for i:=1 to n do
  begin
  writeln('vvedite ',i,' chislo');
  read(a[i]);
   if a[i]=0 then
    begin
    k:=k+1;
    mas[k]:=i;
    end;
  end;
  for i:=1 to k do
  write(mas[i]);
end.

двумерный масив: дан массив А размером n*m. найти количество к особых элементов, считая элемент особым если он больше суммы остальных элементов его столбца.
Код

program zadacha;
uses crt;
var
max,s:integer;
i,j,k,n,m:byte;
a:array[1..100,1..100] of integer;
begin
clrscr;
max:=-32768;
k:=0;
write('vvedite n');
read(n);
write('vvedite m');
read(m);
for i:=1 to n do
  begin
  for j:=1 to m do
   begin
   write('vvedite element massiva');
   read(a[i,j]);
   end;
  end;
for j:=1 to m do
  begin
  for i:=1 to n do
   begin
   s:=s+a[i,j];
   if a[i,j]>max then
    begin
    max:=a[i,j];
    end;
   s:=s-max;
   end;
  if max>s then
   begin
   k:=k+1;
   write(max, ' ');
   max:=-32768;
   end;
  end;
writeln;
write(k);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 1)
сообщение
Сообщение #2


Клавиатурный тиран
**

Группа: Пользователи
Сообщений: 79
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  -2  +


program zadacha;
uses crt;
type
TMas=array[1..100,1..100] of integer;

procedure Task;
var
max,s:integer;
i,j,k,n,m:byte;
a:Tmas;
begin
clrscr;
max:=-32768;
k:=0;
write('vvedite n');
read(n);
write('vvedite m');
read(m);
for i:=1 to n do
begin
for j:=1 to m do
begin
write('vvedite element massiva');
read(a[i,j]);
end;
end;
for j:=1 to m do
begin
for i:=1 to n do
begin
s:=s+a[i,j];
if a[i,j]>max then
begin
max:=a[i,j];
end;
s:=s-max;
end;
if max>s then
begin
k:=k+1;
write(max, ' ');
max:=-32768;
end;
end;
writeln;
write(k);
end;{procedure Task}

BEGIN
Task;
END.


Подпрограммы можно писать для любой одной задачи, а не обязательно для задачи целиком, тем более для задачи целиком подпрограммы не нужны, но т.к. вы не указали, что именно нужно, то я обошелся таким кодом. Функция пишется почти аналогично. Уточни, что нужно. А вообще теорию читать надо wink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 13:15
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name