Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/29: Рейтинг темы: голосов - 29, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 22

Определить количество различных элементов в массиве

13.12.2011, 21:29. Показов 5670. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят срочно нужна помощь надо сделать две задачи по одномерным массивам, я знаю логику у этих задач, но не могу написать код...
Исходный массив упорядочен по возрастанию Ввести число К и вставить его в массив, не нарушая упорядоченности.
Определить количество различных элементов в массиве
(например, дано 2 4 3 2 4 7 4 6 , результат 5).
Зарание благодарен...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.12.2011, 21:29
Ответы с готовыми решениями:

Определить в одномерном целочисленном массиве количество различных элементов
Определить в одномерном целочисленном массиве количество различных элементов.

В массиве из 20 элементов числа образуют неубывающую последовательность. Найти количество различных чисел в массиве.
В массиве из 20 элементов числа образуют неубывающую последовательность. Найти количество различных чисел в массиве.

Найти количество различных элементов в массиве
Дан линейный массив целых чисел ввести с клавиатуры не менее 10 элементов и посчитать сколько в нем различных чисел . помогите решить...

10
--\.founder./--
 Аватар для WebMax 2.0
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
13.12.2011, 22:39
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
46
47
48
49
50
51
52
53
54
uses crt;
 
var a: array [1..30] of integer;
i,n,j,k:integer;
m: set of byte;
 
Procedure Swap(var x,y:integer);
var t:integer;
   begin
   t:=x;
   x:=y;
   y:=t;
   end;
 
Procedure Sortirovka;
begin
For i:=1 to n do
     for j:= 1 to n-1 do
     if a[j]>a[j+1] then Swap(a[j],a[j+1]);
end;
 
 
begin
   m:=[];
   k:=0;
   Write('Ââåäèòå ðàçìåð ìàññèâà: ');readln(n);
   Writeln('Èñõîäíûé ìàññèâ: ');
   randomize;
   For i:= 1 to n do
   begin
     a[i]:=random(50)+1;
     write(a[i]:3);
   end;
   Writeln;
   Writeln('Ïî âîçðîñòàíèþ: ');
   Sortirovka;
   For i:= 1 to n do
     write(a[i]:3);
   n:=n+1;
   Writeln;
   Write('Êàêîå ÷èñëî äîáàâèòü â ìàññèâ ? ');readln(a[n]);
   Sortirovka;
   Writeln('Íîâûé ìàññèâ: ');
   For i:= 1 to n do
       begin
       write(a[i]:3);
       if not (a[i] in m) then
          begin
          m:=m+[a[i]];
          inc(k);
          end;
       end;
   Writeln; Writeln('Ðàçëè÷íûõ ýëåìåíòîâ: ',k);
end.
1
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 22
13.12.2011, 22:47  [ТС]
WebMax 2.0, спасибо за задачу, а можно как нибудь полегче ее вообще сделать, просто к тому моменту мы еще не прошли процедуры и функции...
0
13 / 13 / 13
Регистрация: 09.12.2011
Сообщений: 35
13.12.2011, 22:48
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

ну или мой вариант, не зря же я его писал
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
var i,k,n,c,b,h,x:integer;
a:array[1..100] of integer;
begin
b:=0;
readln(k);
for i:=1 to 10 do
a[i]:=random(20)+1;
writeln('Не упорядоченный массив');
for i:=1 to 10 do
write(a[i]:4);
for c:=1 to 10 do
for i:=1 to 9 do
begin
if a[i]>a[i+1] then
      begin
      b:=a[i+1];
      a[i+1]:=a[i];
      a[i]:=b;
      end;
      end;
      writeln;
      writeln('Упорядоченный массив');
       for i:=1 to 10 do
 write(a[i]:4);
 writeln;
   a[11]:=k;
 Writeln('Массив со вставленным числом');
  for c:=1 to 10 do
for i:=1 to 10 do
begin
if a[i]>a[i+1] then
      begin
      b:=a[i+1];
      a[i+1]:=a[i];
      a[i]:=b;
      end;
      end;
 for i:=1 to 11 do
 write(a[i]:4);
  end.
1
--\.founder./--
 Аватар для WebMax 2.0
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
13.12.2011, 22:53
Цитата Сообщение от ssl93 Посмотреть сообщение
а можно как нибудь полегче ее вообще сделать, просто к тому моменту мы еще не прошли процедуры и функции...
Процедуры и функции убрал .
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
46
47
48
49
50
uses crt;
 
var a: array [1..30] of integer;
i,n,j,k,t:integer;
m: set of byte;
 
begin
   m:=[];
   k:=0;
   Write('Ââåäèòå ðàçìåð ìàññèâà: ');readln(n);
   Writeln('Èñõîäíûé ìàññèâ: ');
   randomize;
   For i:= 1 to n do
   begin
     a[i]:=random(50)+1;
     write(a[i]:3);
   end;
   Writeln;
   Writeln('Ïî âîçðîñòàíèþ: ');
   For i:=1 to n do
     for j:= 1 to n-1 do
     if a[j]>a[j+1] then begin
     t:=a[j];
     a[j]:=a[j+1];
     a[j+1]:=t;
     end;
   For i:= 1 to n do
     write(a[i]:3);
   n:=n+1;
   Writeln;
   Write('Êàêîå ÷èñëî äîáàâèòü â ìàññèâ ? ');readln(a[n]);
   For i:=1 to n do
     for j:= 1 to n-1 do
     if a[j]>a[j+1] then begin
     t:=a[j];
     a[j]:=a[j+1];
     a[j+1]:=t;
     end;
   Writeln('Íîâûé ìàññèâ: ');
   For i:= 1 to n do
       begin
       write(a[i]:3);
       if not (a[i] in m) then
          begin
          m:=m+[a[i]];
          inc(k);
          end;
       end;
   Writeln; Writeln('Ðàçëè÷íûõ ýëåìåíòîâ: ',k);
end.
1
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 22
13.12.2011, 22:54  [ТС]
Steacher, во спасибо вот оно самое...

Добавлено через 1 минуту
WebMax 2.0, Steacher, спасибо большое , отблагодарил, а попробуйте вторую
0
--\.founder./--
 Аватар для WebMax 2.0
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
13.12.2011, 22:57
Цитата Сообщение от ssl93 Посмотреть сообщение
а попробуйте вторую
Вторая решена в моем алгоритме , посмотри внимательней !
1
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 22
13.12.2011, 22:58  [ТС]
WebMax 2.0, хорошо щас найду)))

Добавлено через 53 секунды
WebMax 2.0, Если не сложно выдели его)))
0
--\.founder./--
 Аватар для WebMax 2.0
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
13.12.2011, 23:02
Цитата Сообщение от ssl93 Посмотреть сообщение
Если не сложно выдели его)))
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
var a: array [1..30] of integer;
i,n,k:integer;
m: set of byte;
begin
   m:=[];
   k:=0;
   Write('Ââåäèòå ðàçìåð ìàññèâà: ');readln(n);
   Writeln('Èñõîäíûé ìàññèâ: ');
   randomize;
   For i:= 1 to n do
   begin
     a[i]:=random(50)+1;
     write(a[i]:3);
     if not (a[i] in m) then
          begin
          m:=m+[a[i]];
          inc(k);
          end;
   end;
   Writeln; Writeln('Ðàçëè÷íûõ ýëåìåíòîâ: ',k);
end.
1
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 22
13.12.2011, 23:11  [ТС]
WebMax 2.0, спасибо большое очень вам благодарен

Добавлено через 5 минут
WebMax 2.0, слушай и еще один последний вопрос можеш русским языком написать про тип данных set of byte
0
--\.founder./--
 Аватар для WebMax 2.0
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
13.12.2011, 23:31
Цитата Сообщение от ssl93 Посмотреть сообщение
set of byte
Множество из целочисленных значений !
Pascal
1
2
3
4
5
if not (a[i] in m) then
          begin
          m:=m+[a[i]];
          inc(k);
          end;
Если значения нет в множестве, то вставляем данное значение в множество и увеличиваем K+1, проверяем следующее значение массива, если значение уже присутствует в множестве, то пропускаем . Таким образом узнаем кол-во различных элементов !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.12.2011, 23:31
Помогаю со студенческими работами здесь

Количество различных элементов в монотонном массиве
Формат входных данных Сначала задано число N - количество элементов в массиве (N не превосходит 100). Далее через пробел записаны N...

Найти количество различных элементов в массиве
В массиве M(k) много совпадающих элементов. Найти количество различных элементов в нем (не упорядочивая массива)

Найти количество различных элементов в массиве
Дано целочисленный массив размера N. Найти количество различных элементов в этом массиве.

Вычислить количество различных элементов в массиве
Дан массив из N чисел в интервале от -32000 до 32000. (1<=N<=1000). Все элементы массива упорядочены (по возрастанию или по убыванию)....

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru