11 / 10 / 12
Регистрация: 11.11.2010
Сообщений: 47
1

составить программу определения числа одинаковых целых чисел к в серии длиной больше 1 в одномерном массиве Х=(х1,х2,…,хn)

13.11.2010, 19:08. Показов 1274. Ответов 4
Метки нет (Все метки)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
type mas=array[1..100] of integer;
var mt,mD:mas; p,k,n,e:integer;
begin    write('n= '); readln(n);
    for p:=1 to n do readln(mt[p]);
 
       p:=1; k:=1; e:=1;
    repeat
          while mt[p]=mt[p+1] do begin
                inc(k); inc(p); end;
          if k>1 then begin mD[e]:=k; inc(e); end;
          k:=1; inc(p);
    until p>=n-1;
    for p:=1 to e do write(mD[e]:4);
 
end.
подскажите что я не так делаю.
и никак не пойму как в mD записываются и откуда берутся нули, когда перед присвоением mD[e]:=k стоит условие что к>1

Добавлено через 3 часа 12 минут
немного переделал, щас все работает, но если в конце несколько нулей, то последнее выводимое число получается больше на единицу, чем нужно.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses crt;
type mas=array[1..100] of integer;
var mt,mD:mas; p,k,n,e:integer;
begin    write('n= '); readln(n);
    for p:=1 to n do readln(mt[p]);
      p:=1; inc(n); mt[n+1]:=1;
    repeat
     e:=1;
    while mt[p]=mt[p+1] do begin
          inc(p); inc(e);       end;
      if e>1 then  writeln(e:6); inc(p);
    until p>=n-1;
end.
Добавлено через 1 час 15 минут
да уж, чето никто не желает мне помочь...
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2010, 19:08
Ответы с готовыми решениями:

Составить подпрограмму определения количества одинаковых чисел k в серии
Составить попрограмму определения числа одининаковых целых чисел k в серии длинной больше L в...

Составить процедуру для определения количества нулевых элементов в одномерном массиве длиной N.
Составить процедуру на Pascal для определения количества нулевых элементов в одномерном массиве...

Поиск самой длиной серии одинаковых элементов в двумерном массиве
Помогите, нужно найти самую длинную серию одинаковых элементов в двумерном массиве.

Определить длину первой последовательности одинаковых цифр, идущих рядом, в произвольном одномерном массиве целых чисел
Определить длину первой последовательности одинаковых цифр, идущих рядом, в произвольном одномерном...

4
Модератор
64004 / 47440 / 32703
Регистрация: 18.05.2008
Сообщений: 115,109
13.11.2010, 19:11 2
да уж, чето никто не желает мне помочь...
А как, если условие задачи секретное, а код программы написан через коленку?
0
11 / 10 / 12
Регистрация: 11.11.2010
Сообщений: 47
13.11.2010, 19:29  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
А как, если условие задачи секретное, а код программы написан через коленку?
условие в названии темы, т.е. надо чтобы при вводе например
1 1 1 1 0 0 0 3 3 2 4 4
выводились числа равные длине серии одинаковых, вподряд идущих, длиной больше 1 чисел. в данном случае это
4 3 2 2

про код программы это типо писать каждый оператор на новой строке и т.п.?
0
Модератор
64004 / 47440 / 32703
Регистрация: 18.05.2008
Сообщений: 115,109
13.11.2010, 19:47 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
    n,i,j,k,f:byte;
begin
clrscr;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Введите элементы массива, в том числе группы одинаковых чисел:');
for i:=1 to n do
 begin
  write('a[',i,']=');
  readln(a[i]);
 end;
clrscr;
writeln('Массив:');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln;
writeln('Длины серий одинаковых элементов:');
i:=2;f:=0;
while i<=n do
if a[i]=a[i-1] then
 begin
  f:=1;
  k:=1;
  j:=i;
  while(a[j]=a[j-1])and(j<=n) do
   begin
    k:=k+1;
    j:=j+1;
   end;
  write(k,' ');
  i:=i+k;
 end
else i:=i+1;
if f=0 then write('Серий одинаковых элементов нет!');
readln
end.
0
11 / 10 / 12
Регистрация: 11.11.2010
Сообщений: 47
13.11.2010, 20:43  [ТС] 5
спасибо.
кстати я нашел у себя ошибку, вроде правильно
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
uses crt;
type mas=array[1..100] of integer;
var mt:mas;
     p,k,n,e:integer;
begin
    write('n= ');
    readln(n);
    for p:=1 to n do
         readln(mt[p]);
    p:=1;
    inc(n);      mt[n]:=1;   //какое число тут запишешь с таким и будут проблемы, как без кардинального изменения программы вообще избавиться от этой строки?
    writeln('длины серий одинаковых элементов');
    repeat
     e:=1;
     while mt[p]=mt[p+1] do
         begin
          inc(p);
          inc(e);
         end;
      if e>1 then  writeln(e:6);
                       inc(p);
    until p>=n-1;
end.
Добавлено через 8 минут
а нет так получается что елси в конце единицы, то неверно, в остальных случаях верно..
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2010, 20:43

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Составить алгоритм и программу длля поиска в массиве целых чисел из 5 элементов минимального числа.
Составить алгоритм и программу длля поиска в массиве целых чисел из 5 элементов минимального числа.

В одномерном массиве целых чисел a1, а2, ..., an найти номер первого четного числа.
Задание в лазарусе с формой: В одномерном массиве целых чисел a1, а2, ..., an найти номер первого...

Составить программу определения минимального среди 5 введенных целых чисел.
Плз помогите составить текст программы,на Си Обход. Составить программу определения минимального...

Написать программу, которая в одномерном массиве целых чисел удаляет К-й элемент массива
Ребята помогите! нужно удалить элемент массива, элементы массива вводятся с клавиатуры, массив...

В одномерном массиве из 10 вещественных чисел заменить все элементы, которые больше заданного числа х
Помогите решить на С++ пожалуйста 1. В одномерном массиве из 10 вещественных чисел заменить все...

Составить программу определения макс. и мин. числа в массиве
День добрый , помогите составить программу. Составить программу определения макс. и мин. числа в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.