В одномерном массиве из 10 элементов подсчитать количество каждого элемента - Pascal
Формулировка задачи:
Решение задачи: «В одномерном массиве из 10 элементов подсчитать количество каждого элемента»
uses crt; const n=10;//размер массива var a:array[1..n] of integer; m,i,j,k,l:integer; begin clrscr; writeln('Введите элементы массива:'); for i:=1 to n do begin write('a[',i,']='); readln(a[i]); end; clrscr; writeln('Массив:'); for i:=1 to n do write(a[i],' '); writeln; m:=n;//запомним размер, он будет меняться i:=1; while i<=m do//пока не конец масива begin k:=1;//пока 1 раз for j:=m downto i+1 do//смотрим массив с конца до числа за данным if a[j]=a[i] then//если есть такое begin k:=k+1;//считаем for l:=j to m-1 do//сдвигаем массив влево a[l]:=a[l+1];//удаляем элемент чтобы не было повтора dec(m);//уменьшаем размер end; writeln('chislo ',a[i],' vzstr ',k,' raz'); inc(i);//смотрим следующее end; readln end.
Объяснение кода листинга программы
Этот код написан на языке Pascal и выполняет следующую задачу: подсчитывает количество каждого элемента в одномерном массиве из 10 элементов. В начале кода объявляются необходимые переменные: n (размер массива), a (массив для хранения элементов), m, i, j, k, l (переменные для работы с индексами). Затем происходит инициализация массива и вывод его содержимого на экран. Далее идет цикл while, который выполняется до тех пор, пока i меньше или равно m. Внутри цикла происходит сравнение элементов массива a[j] и a[i]. Если они равны, то увеличивается счетчик k и происходит сдвиг массива a влево, удаляя элемент a[j]. После этого размер массива уменьшается на единицу. В конце выводится количество повторений каждого элемента. Код завершается вызовом функции readln для чтения последнего ввода пользователя и завершением программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д