Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 05:15

Массивы

Автор n1kolashqa, 02 ноя 2011, 15:51

0 Пользователей и 1 гость просматривают эту тему.

n1kolashqa

Извините конечно дурака, очень прошу помощи, с 1с почти не имел дел, сделал 2 программы, более менее работают, а вот с массивами полный атас,  понимаю что 1с чем-то похож на паскаль, но с паскалем намного проще, кто может помочь это, сделать на 1с
const
  n=30;
  m=2;
var
  mas: array[1..n] of word;
  popular: array[1..n, 1..2] of word;
  f, p, i, j, k: word;
begin
  randomize;
  for i := 1 to n do
  begin
    mas := random(5);
    write(mas:2)
  end;
  for i := 1 to n-1 do
  for j := i+1 to n do
  if mas > mas[j] then
  begin
    k := mas;
    mas := mas[j];
    mas[j] := k
  end;
  writeln;
  i := 1;
  p := 1;
  writeln('Vsego');
  repeat
    k := 1;
    while (mas = mas[i+1])and(i<n) do
    begin
      inc(k);
      inc(i);
    end;
    writeln(mas, ' - ', k*100/n:0:2, '%');
    popular[p, 1] := k;
    popular[p, 2] := mas;
    inc(p);
    inc(i)
  until i > n;
  for i := 1 to p-2 do
  for j := i+1 to p-1 do
  if popular[i, 1] < popular[j, 1] then
  for f := 1 to 2 do
  begin
    k := popular[i, f];
    popular[i, f] := popular[j, f];
    popular[j, f] := k
  end;
  writeln('Itogo');
  if p > m then p := m;
  for i := 1 to p do
  writeln(popular[i, 2], ' - ', popular[i, 1]*100/n:0:2, '%');
  readln
end.


я конечно попробовал даже что-то сам сделать, но даже массивы не получилось вывести, написал какую-то бурду

перем мас экспорт;
перем элем экспорт;

Процедура КнопкаВыполнитьНажатие(Кнопка)
   // Вставить содержимое обработчика.
   перем инд, инд2, кол, проц, ф,н;
      кол=0;
      для инд=0 по н-1 цикл
         если мас[инд]=0 тогда
            кол=кол+1;
         для инд2=инд+1 по н-1 цикл
         мас[инд2-1]=мас[инд2];   
      конеццикла;
      инд=инд-1;
   конецесли;
конеццикла;
для инд=0 по н-1-кол цикл
      сообщить(мас[инд]);
   конеццикла;
   элем=0;
КонецПроцедуры

n1kolashqa

перем мас экспорт;
перем элем экспорт;

Процедура КнопкаВыполнитьНажатие(Кнопка)
   // Вставить содержимое обработчика.
   перем инд, инд2, кол, проц, ф,н;
      кол=0;
      для инд=0 по н-1 цикл
         если мас[инд]=0 тогда
            кол=кол+1;
         для инд2=инд+1 по н-1 цикл
         мас[инд2-1]=мас[инд2];   
      конеццикла;
      инд=инд-1;
   конецесли;
конеццикла;
для инд=0 по н-1-кол цикл
      сообщить(мас[инд]);
   конеццикла;
   элем=0;
КонецПроцедуры

n1kolashqa

а вообще задание:
В целочисленном массиве K(n) много повторяющихся элементов. Найти (в процентах) частоту появления каждого из m наиболее часто встречающихся элементов (m<<n)

Теги:

Похожие темы (3)

Рейтинг@Mail.ru

Поиск