0 / 0 / 0
Регистрация: 12.12.2019
Сообщений: 7
1

Как исправить проблему с задачей?

12.12.2019, 10:51. Показов 338. Ответов 1
Метки нет (Все метки)

Даны целые числа а(1)...а(n) (в этой последовательности могут быть повторяющиеся члены)
1)Выяснить сколько чисел входит в последовательность более чем по одному разу
2)Выяснить, имеется ли в последовательности хотя бы одна пара совпадающих чисел
Объясните как сделать так, чтобы программа сначала перебирала предыдущие числа, и если находит совпадающее то просто останавливалась, иначе перебирала бы последующие числа
вот что смог набросать, но при сдаче задания не приняли, сказали что неправильно написано
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
const
   n = 10;
 
var
   i, j, k, c: integer;
   a: array[1..n] of integer;
 
 
begin
   for i := 1 to n do
   begin
      write('a[', i, ']=');
      readln(a[i]);
   end;
   
   k := 1;
   for i := 1 to n - 1 do
   begin
      for j := i + 1 to n do
         if a[i] = a[j] then
         begin
            c := a[i];
            k := k + 1;
            a[j] := a[1];
         end;
      if (k > 1) and (a[i] <> a[1]) then writeln('Цифра "', c, '" встречаеться - ', k, ' раз.');
      k := 1;
   end;
end.
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
43
var
   a: array[1..100] of integer;
   i, j, h, n, k: integer; 
   b, replay: boolean;
 
begin
   read(n);
   if n = 1 then halt;
   
   for i := 1 to n do
      read(a[i]);
  k:=1; 
  while (n<>0) and (not replay) do
    if a[n]=a[n-1] then begin
      k:=k+1;
      replay:=true;
      n:=n-1;
    end 
         else if a[n]=a[n+1] then begin
           k:=k+1;
           replay:= true;
           n:=n-1;
    end;
      writeln(k);
      
      
   k := 1; 
   for i := 1 to n - 1 do
   begin
      if (a[i] = a[i + 1]) then begin
         k := k + 1; 
         b := true
      end else begin
         if k > 1 then begin
            writeln(a[i], ':', k);
            k := 1; 
            b := false;
         end;
      end;
      if (b = true) and (i = n - 1) and (k > 1) then 
         writeln(a[i], ':', k);  
   end;
end.
0

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

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

Исправить проблему с размножающимися элементами ListBox и проблему со сортировкой
Доброго времени суток. Подскажите пожалуйста, кто знает, все нервы уже истрепал с этой сортировкой...

Как исправить проблему
Добрый день! Выписал недавно проекционные часы с Таобао. Все работает, но не устраивает один...

Как исправить проблему с зацикливанием
short int choose = 0; do { cout &lt;&lt; &quot;---------------------Choose...

Как исправить эту проблему ?
Как исправть ошибку Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in...

1
Модератор
64059 / 47474 / 32728
Регистрация: 18.05.2008
Сообщений: 115,185
12.12.2019, 14:03 2
Пара не обязательно рядом.
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
var a: array[1..100] of integer;
    n, i, j, k: integer;
begin
repeat
write('Введите размер массива о 2 до 100 n=');
readln(n);
until n in [2..100];
randomize;
for i := 1 to n do
 begin
  a[i]:=10+random(50);
  write(a[i]:4);
 end;
writeln;
k:=0;
i:=1;
while (i<n) and (k=0) do
 begin
  j:=i+1;
  while(j<=n) and(a[j]<>a[i]) do inc(j);
  if j<=n then k:=1
  else inc(i);
 end;
if k=1 then writeln('Есть пара одинаковых чисел например ',a[i])
else write('Нет пары одинаковых чисел')
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2019, 14:03

Как исправить данную проблему?
Как исправить проблему связанную с dArr на выделенной мною строке. По идее система должна работать,...

Как исправить эту проблему с авторизацией
У меня есть форма авторизации которая открывает форму1 , а как сделать так чтобы определенный...

Подскажите как исправить данную проблему на ноутбуке
Хотел установить с флешки винду, и как было сказано подготовил флешку и вбиос зашол поменял там по...

Перестало срабатывать событие Worksheet_Change, как исправить проблему?
Добрый всем день, у меня такая вот не большая проблема. Не могу разобраться с кодом: Цель...


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

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

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