|
|
Регистрация | << Правила форума >> | 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
|
|||
|
|||
Спасибо. Все работает. Теперь буду разбирать его алгоритм.
|