![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
дан массив состоящий из 20 целых чисел.
а)Вывести все числа,которые встречаются в этом массиве несколько раз б)Вывести все числа,которые встречаются в массиве только по одному разу. Вроде бы сделал предварительную версию, но он не выводит числа, которые встречаются по 1 разу и выводит числа, которые повторяются друг за другом. А вот, если числа будут повторяться так:"1,2,1,2,3,4,5..." он не выводит, хотя должен. Помогите доделать... Код:
var
var
A:array[1..20] of integer;
B:array[1..20,1..2] of integer;
n,i,j,k:integer;
begin
WriteLn('Vvedite elementi massiva');
for n := 1 to 20 do ReadLn(A[n]);
for i := 1 to 20 do begin
k:= 0;
for j:= 1 to 20 do begin
if (A[i] = B[j][1]) then begin
inc(B[j][2],1);
end
else inc(k,1);
end;
if (k = 20) then B[i][1]:= A[i]
end;
WriteLn('neskolko raz');
for i:= 1 to 20 do
if (B[i][2] > 1) then
WriteLn(B[i][1]);
WriteLn('1 raz');
for i:= 1 to 20 do
if (B[i][2] = 1) then
WriteLn(B[i][1]);
ReadLn;
end.; Последний раз редактировалось Muxa, 08.04.2010 в 15:23. |
|
#2
|
||||
|
||||
|
Алгоритм:
1. Создаешь динамический массив записей вида - символ кол-во. 2. Запоминаешь в него 1-ый символ строки и кол-во 1. 3. Шагаешь до коца строки и считаешь эти символы увеличивая кол-во. 4. Увеличиваешь массив записей на 1. 4. Ищешь в строке первый отличающийся от символов в массиве символ и проделываешь с ним п.3. 5. И так далее пока не в конце концов у тебя не будет массив записей с количеством символов. 6. Проходишься по этому массиву и вычисляешь те у которых кол-во = 1 и не 1. |
|
#3
|
|||
|
|||
|
Можно с кодом? 1 и 2 пункты сделал, а дальше, что-то не очень выходит
|
|
#4
|
|||
|
|||
|
Вот похожий алгоритм, только работает с динамическими массивами, адаптировал под твою задачу.
Последний раз редактировалось Asinkrit, 02.04.2011 в 20:19. |
|
#5
|
|||
|
|||
|
Спасибо. Все работает. Теперь буду разбирать его алгоритм.
|