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

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

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

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

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

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

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

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

10
--\.founder./--
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
13.12.2011, 22:39 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
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  [ТС] 3
WebMax 2.0, спасибо за задачу, а можно как нибудь полегче ее вообще сделать, просто к тому моменту мы еще не прошли процедуры и функции...
0
13 / 13 / 13
Регистрация: 09.12.2011
Сообщений: 35
13.12.2011, 22:48 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

ну или мой вариант, не зря же я его писал
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./--
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
13.12.2011, 22:53 5
Цитата Сообщение от 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  [ТС] 6
Steacher, во спасибо вот оно самое...

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

Добавлено через 53 секунды
WebMax 2.0, Если не сложно выдели его)))
0
--\.founder./--
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
13.12.2011, 23:02 9
Цитата Сообщение от 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  [ТС] 10
WebMax 2.0, спасибо большое очень вам благодарен

Добавлено через 5 минут
WebMax 2.0, слушай и еще один последний вопрос можеш русским языком написать про тип данных set of byte
0
--\.founder./--
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
13.12.2011, 23:31 11
Цитата Сообщение от 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
13.12.2011, 23:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2011, 23:31
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru