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

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

13.12.2011, 21:29. Показов 5685. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru