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

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

13.12.2011, 21:29. Показов 5559. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Мониторинг микросервисов с OpenTelemetry в Kubernetes
Mr. Docker 04.07.2025
Проблема наблюдаемости (observability) в Kubernetes - это не просто вопрос сбора логов или метрик. Это целый комплекс вызовов, которые возникают из-за самой природы контейнеризации и оркестрации. К. . .
Проблемы с Kotlin и Wasm при создании игры
GameUnited 03.07.2025
В современном мире разработки игр выбор технологии - это зачастую балансирование между удобством разработки, переносимостью и производительностью. Когда я решил создать свою первую веб-игру, мой. . .
Создаем микросервисы с Go и Kubernetes
golander 02.07.2025
Когда я только начинал с микросервисами, все спорили о том, какой язык юзать. Сейчас Go (или Golang) фактически захватил эту нишу. И вот почему этот язык настолько заходит для этих задач: . . .
C++23, квантовые вычисления и взаимодействие с Q#
bytestream 02.07.2025
Я всегда с некоторым скептицизмом относился к громким заявлениям о революциях в IT, но квантовые вычисления - это тот случай, когда революция действительно происходит прямо у нас на глазах. Последние. . .
Вот в чем сила LM.
Hrethgir 02.07.2025
как на английском будет “обслуживание“ Слово «обслуживание» на английском языке может переводиться несколькими способами в зависимости от контекста: * **Service** — самый распространённый. . .
Использование Keycloak со Spring Boot и интеграция Identity Provider
Javaican 01.07.2025
Два года назад я получил задачу, которая сначала показалась тривиальной: интегрировать корпоративную аутентификацию в микросервисную архитектуру. На тот момент у нас было семь Spring Boot приложений,. . .
Содержание темы с примерами на WebGL
8Observer8 01.07.2025
Все примеры из книги Мацуды и Ли в песочнице JSFiddle Пример выводит точку красного цвета размером 10 пикселей на WebGL 1. 0 и 2. 0 WebGL 1. 0. Передача координаты точки из главной программы в. . .
Основы WebGL. Простой треугольник
8Observer8 01.07.2025
Простой треугольник без трансформаций. Для трансформаций можно использовать glMatrix, как в примере: https:/ / plnkr. co/ edit/ qT6ZTwvncLPRamK5?preview На русском: . . .
Полиглотные микросервисы на C# и .NET
ArchitectMsa 30.06.2025
Полиглотная архитектура появилась не из желания усложнить жизнь разработчикам. Она родилась из практической необходимости решать разные задачи наиболее эффективным способом. В одном из проектов. . .
Стратегии кеширования
Javaican 29.06.2025
Кеширование — это хранение часто запрашиваемых данных в быстром хранилище (обычно в памяти), чтобы не обращаться к более медленному первоисточнику. Казалось бы, все просто. Но за этой простотой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru