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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2014, 22:17   #1
MarsLoveMoon
Новичок
Джуниор
 
Регистрация: 22.04.2014
Сообщений: 7
Вопрос Pascal ABC. Даны три массивы. Определить общее количество элементов массивов, значение которых лежат в интервале (подпрограмма)

Элементы исходных массивов создаются генератором случайных чисел так, чтобы созданные значения были как положительные, так и отрицательные. Даны массивы В1(7), В2(10), В3(7). Определить общее количество элементов массивов В1, В2, В3, значение которых лежат в интервале [1, 4]. Вычисление количества элементов массива, лежащих в интервале [1, 4], организовать в виде подпрограммы.

Пожалуйста помогите решить задачу в Pascal ABC.



_________
Название темы не соответствует правилам форума

Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил название и предупредил Вас.
В дальнейшем темы с подобным названием будут закрываться/удаляться,
а автор такой темы получать штрафы.

Прошу учесть на будущее...

Модератор.

Последний раз редактировалось Serge_Bliznykov; 23.04.2014 в 11:03.
MarsLoveMoon вне форума Ответить с цитированием
Старый 22.04.2014, 23:01   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

А что именно вызывает затруднения? Оформление подпрограммы?
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 23.04.2014, 10:16   #3
MarsLoveMoon
Новичок
Джуниор
 
Регистрация: 22.04.2014
Сообщений: 7
По умолчанию

Её решение и написание, не говоря уже о подпрограмме
MarsLoveMoon вне форума Ответить с цитированием
Старый 23.04.2014, 11:03   #4
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Покажите, как массивы вводите.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 23.04.2014, 11:06   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от MarsLoveMoon Посмотреть сообщение
Её решение и написание, не говоря уже о подпрограмме
и, как я понимаю, Вы просто на халяву ожидаете получить полностью готовый код, сами делать ничего не собираетесь?..


задача очень простая, "азбучная", если не разберётесь в ней, дальше будет всё ещё хуже... Начните с того, что почитайте, что такое массивы, как они описываются (объявляются), как к элементам массива идёт обращение.
Начните писать программу и всё, со временем, получится.
Дорогу осилит идущий.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.04.2014, 18:57   #6
MarsLoveMoon
Новичок
Джуниор
 
Регистрация: 22.04.2014
Сообщений: 7
Восклицание

Цитата:
Сообщение от Vanta11a Посмотреть сообщение
Покажите, как массивы вводите.
Код:
program eror;
type mas=array[1..10] of integer;
var
 B1,B2,B3:mas;
i,s:integer;
function max(var x:mas;n:integer):integer;
var
 i,tmp:integer;
begin
tmp:=x[1];
for i:=1 to n do
begin
if x[i]>tmp then
tmp:=x[i];
end;
max:=tmp;
end;
begin
writeln('Массив первый :');
for i:=1 to 4 do
begin
B1[i]:=random(40)-13;
write(B1[i]:4);
end;
writeln;
writeln('Массив второй :');
for i:=1 to 4 do
begin
B2[i]:=random(60)-50;
write(B2[i]:4);
end;
writeln;
writeln('Массив третий :');
for i:=1 to 4 do
begin
B3[i]:=random(40)-13;
write(B3[i]:4);
end;
writeln;
end.
Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
и, как я понимаю, Вы просто на халяву ожидаете получить полностью готовый код, сами делать ничего не собираетесь?..


задача очень простая, "азбучная", если не разберётесь в ней, дальше будет всё ещё хуже... Начните с того, что почитайте, что такое массивы, как они описываются (объявляются), как к элементам массива идёт обращение.
Начните писать программу и всё, со временем, получится.
Дорогу осилит идущий.
Нет. я не понимаю как определить общее количество элементов массивов.

Цитата:
Сообщение от ZX Spectrum-128 Посмотреть сообщение
А что именно вызывает затруднения? Оформление подпрограммы?
Затруднения в том как определить общее количество элементов массивов. Не знаю как записать.

Последний раз редактировалось Stilet; 24.04.2014 в 19:28.
MarsLoveMoon вне форума Ответить с цитированием
Старый 24.04.2014, 19:28   #7
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Например, так
Вызов функции
Код:
  write('Количество элементов = ',f(b1,b2,b3,7,10,7);
Код:
function f(c1,c2,c3:mas;n1,n2,n3:integer):integer;
var
  i,count:integer;
begin
  count:=0;
  for i:=1 to n1 do
    if (c1[i]>=1) and (c1[i])<=4) then 
      inc(count);
  for i:=1 to n2 do
    if (c2[i]>=1) and (c2[i])<=4) then 
      inc(count);
  for i:=1 to n3 do
    if (c3[i]>=1) and (c3[i])<=4) then 
      inc(count);
   f:=count;  
end;
Позволил себе подправить ваш код
Код:
program eror;
type mas=array[1..10] of integer;
var
  B1,B2,B3:mas;
  i,s:integer;
begin
  writeln('Массив первый :');
  for i:=1 to 7 do
    begin
      B1[i]:=random(40)-13;
      write(B1[i]:4);
   end;
  writeln;
  writeln('Массив второй :');
  for i:=1 to 10 do
    begin
       B2[i]:=random(60)-50;
       write(B2[i]:4);
    end;
  writeln;
  writeln('Массив третий :');
  for i:=1 to 7 do
    begin
      B3[i]:=random(40)-13;
      write(B3[i]:4);
    end;
  writeln;
end.

Последний раз редактировалось ZX Spectrum-128; 24.04.2014 в 19:42.
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны три матрицы A, B, C. Решить квадратное уравнение Amin*x^2 + Bmin*x + Cmin = 0 (Pascal ABC.NET) марфаз Паскаль, Turbo Pascal, PascalABC.NET 13 25.12.2013 21:34
Задача на Pascal ABC: Два трёхзначных числа a и b. В интервале от a до b все числа, сумма цифр которых кратна 3, выдать зеркально Andrew5674 Помощь студентам 5 16.04.2013 23:00
Сколько элементов массива лежат в заданном интервале Faton 11 Общие вопросы C/C++ 1 18.11.2012 20:27
С++ Задача(Определить количество отрицательных элементов, количество элементов в интервале от 1 до 5) grosssmile Помощь студентам 0 29.09.2012 18:25
Работа со строками.даны три слова.Одно из них имеет меньшее количество символов,чем другое.Определить и в Ashley Помощь студентам 6 01.06.2010 22:08