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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2011, 18:47   #1
Анастасья
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 24
Вопрос В массиве из n элементов подсчитать количество четырёд идущих подряд одинаковых элементов ( Delphi7 )

В массиве из n элементов подсчитайте количество четверок a(i),a(i+1),a(i+2),a(i+3), идущих подряд членов,из которых:
(все члены равны)


Код:
program Project1ctv2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows;

const nmax=20;
    type mas=array[1..nmax] of real;
  var
   kol,k:integer;
   ar:real;
 procedure read_ar(var ar:mas);
  var i,n:integer;
begin
  for i:=1 to n do
  read(ar[i]);
  readln;
end;

 procedure print_ar(var ar:mas);
  var i,n:integer;
 begin
  for i:= 1 to n do
  write (ar[i]:6:1);
  readln;
 end;

  function vivod( var ar: mas): real;
  var k,i,n:integer;
 begin
  k:=0;
  for i:= 1 to n-3 do
  if ( ar[i] =ar[i+1]) and ( ar[i]= ar[i+2]) and (ar[i]= ar[i+3])
  then k:= k+1;
   writeln( 'количество четверок  в массиве', k);
   readln;
   vivod:=k;
 end;

    begin
 setconsolecp(1251);
 setconsoleoutputcp(1251);
  read_ar(ar);
  writeln;
  print_ar(ar);
  writeln;
  kol:= vivod;
  readln;
  end.
помогите пожалуйста доработать программу тута чего то не так((



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

Последний раз редактировалось Serge_Bliznykov; 31.03.2011 в 20:22.
Анастасья вне форума Ответить с цитированием
Старый 31.03.2011, 19:23   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Анастасья, разбирайтесь
Код:
const nmax=20;
type mas=array[1..nmax] of real;
var
Art:Mas;
kol,k:Byte;
procedure read_ar(var ar:mas; N:Byte);
var i:integer;
begin
for i:=1 to n do
Begin
  Write('Введите элемент ',i , ':');
  readln(ar[i]);
End;
end;

procedure print_ar(var ar:mas; N:Byte);
var i:integer;
begin
for i:= 1 to n do
write (ar[i]:6:1);
readln;
end;

function vivod( var ar: mas; n:Byte): Byte;
var k,i:integer;
begin
k:=0;
i:=1;
While i < N-3 do
Begin
if ( ar[i]=ar[i+1]) and ( ar[i]= ar[i+2]) and (ar[i]= ar[i+3])
then k:= k+1;
Inc(i);
End;
vivod:=k;
end;

begin
setconsolecp(1251);
setconsoleoutputcp(1251);
Write('Число элементов = '); 
Readln(Kol);
read_ar(art,kol);
writeln;
print_ar(art,kol);
writeln;
Write('Количество = ',vivod(Art,kol):3:1);
readln;
End.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Максимальное кол-во подряд идущих элементов одн. массива cheef Паскаль, Turbo Pascal, PascalABC.NET 6 17.06.2010 13:17
В массиве из п элементов много совпадающих элементов. Найти количество различных элементов Strax Фриланс 11 12.06.2010 20:13
В массиве A, состоящем из 10 элементов, подсчитать количество положительных элементов Alex61 Помощь студентам 5 16.05.2009 23:06
найти подпоследовательность из подряд идущих элементов с наибольшей суммой на С++ aj_tramp Помощь студентам 2 12.12.2008 08:57