Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 31.05.2012
Сообщений: 6

2 одинаковых числа в массиве

24.03.2013, 09:44. Показов 6723. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу найти ошибку, Задача : Дан массив в 100 элементов, нужно найти и выписать значения одинаковых элемментов в массиве, но только по одному разу.

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;
 var
  a, j: array [1..100] of integer;
  b,d,s,e, x, g: integer;
  f: text;
  begin
  randomize;
  x:=1;
  for b:=1 to 100 do
  a[b]:=random(100);
 
  for d:=1 to 100 do
   for s:=1 to 100 do
    if (a[d]=a[s]) and (d<>s) then
     for e:=1 to 100 do
      if a[s]<>j[e] then
       writeln(a[s],'=',a[d]);
       g:=a[s];
       j[x]:=g;
       x:=x+1;
   readln;
 
  end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2013, 09:44
Ответы с готовыми решениями:

В массиве после каждого числа, состоящего из одинаковых цифр, вставить еще одно такое же число
Задача из раздела - Регулярные типы данных. В массиве целых положительных чисел после каждого числа, состоящего из одинаковых цифр,...

составить программу определения числа одинаковых целых чисел к в серии длиной больше 1 в одномерном массиве Х=(х1,х2,…,хn)
type mas=array of integer; var mt,mD:mas; p,k,n,e:integer; begin write('n= '); readln(n); for p:=1 to n do readln(mt); ...

Есть ли два одинаковых числа в массиве
Как узнать? С мемо-поле было бы все просто примерно так работает и то сравнение между двух мемо-полей получается... for i := 0 to...

5
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
24.03.2013, 10:34
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses Crt;
Var a:array [1..100] of integer; b,s:integer; k:set of 0..100;
Begin
ClrScr; Randomize; k:=[];{создаём пустое множество}
For b:=1 to 100 do
 Begin
  a[b]:=random(101);
  Write(a[b]:4);
 End;
For b:=1 to 100 do
 For s:=b+1 to 100 do
  If (a[b]=a[s]) and not(a[b] in k) then {отыскиваем одинаковые элементы}
   Begin
    Write(a[s],'=',a[b],' ');
    Include(k,a[b]);{добавляем элемент в множество, чтобы не было повторений}
   End;
Readln;
End.
1
Я не экстрасенс
 Аватар для barbudo59
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
24.03.2013, 10:52
Что-то сложно...
1) Как заносятся данные в массив j ?
2) Что будет, если число повторяется 3-4 раза?
3) В условии - выписать ЗНАЧЕНИЕ элементов.

Предлагаю:
в цикле сравнивать все элементы массива с 1-м, при совпадении - обнулять;
записывать это значение в результат;
переходить на сравнение всех элементов со следующим элементом массива (если он не был обнулен).
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
24.03.2013, 11:32
Понял так
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
44
45
uses crt;
var a:array[1..100] of integer;
    n,i,j,c,k,x:integer;
begin
clrscr;
n:=100;
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=random(100);
  write(a[i]:4);
 end;
writeln('Одинаковые элементы');
i:=1;
while i<=n do
 begin
  x:=a[i];{запомним элемент}
  j:=i;
  c:=0;{количество его}
  while j<=n do
   begin
    if a[j]=x then{если такой же}
     begin
      c:=c+1;{считаем}
      if j=n then n:=n-1{и удаляем, чтобы не было повторов}
      else
       begin
        for k:=j to n-1 do
        a[k]:=a[k+1];
        n:=n-1;
       end
      end
     else j:=j+1;
   end;
  if c>1 then{если больше 1, выводим}
   begin
    for k:=1 to c do
    write(x,' ');
    writeln;
    i:=i+1{и идем вперед}
   end
  else i:=i+1;{иначе просто вперед}
 end;
readln
end.
Добавлено через 3 минуты
Множества можно использовать если числа в массиве от 0 до 100, как у нас, но нельзя если они выходят из диапазона 0..255, или -128..127
0
Я не экстрасенс
 Аватар для barbudo59
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
24.03.2013, 14:59
Имел в виду:
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
uses crt;
var a:array[1..100] of integer;
    n,i,j,x:integer;
begin
clrscr;
n:=100; x:=0;
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=random(100);
  write(a[i]:4);
 end;
writeln('Одинаковые числа: ');
 
for i:=1 to n do
begin
 if x=1 then write (a[i]);
 x:=0;
 for j:=i+1 to n do
  if (a[i]=a[j] and a[j]>0) then
   begin
    a[j]:=0;
    x:=1;{запомним, что было совпадение}
   end;
end;
 
end.
0
0 / 0 / 0
Регистрация: 31.05.2012
Сообщений: 6
25.03.2013, 20:40  [ТС]
Спасибо всем, что ответили, про множества в паскале честно говоря я не знал, поэтому КиберПёс , тебе первое место, но все равно всем остальным огромное спасибо!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.03.2013, 20:40
Помогаю со студенческими работами здесь

Узнать есть ли в массиве 2 одинаковых числа за N*log(N) в худшем случае
Сижу, думаю в сторону сортировки слиянием или пирамидальной сортировки. Правильное направление? Может есть у кого соображения?

Три одинаковых элемента подряд в массиве и наибольшее повторение этого числа
Дан одномерный массив целых. Если в данном массиве имеются три подряд идущих одинаковых элемента, то переменной r присвоить значение...

Определить, встречаются ли в массиве три подряд идущих одинаковых числа (Блок-схема)
Нужно разработать блок-схему и записать программу на языке QBaSIC 1)Дан массив чисел,состоящих из К элементов. Определить встречаются ли...

Если в одномерном массиве встречаются 2 подряд идущих одинаковых числа, то одно нужно удалить
задан одномерный массив, если в нем встречаются 2 подряд идущих одинаковых числа, то одно нужно удалить. с помошью какой команды это можно...

В массиве после каждого числа, состоящего из одинаковых цифр, вставить еще одно такое же число
В массиве целых положительных чисел после каждого числа, состоящего из одинаковых цифр, вставить еще одно такое же число. Зараннее...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru