ЕкатеринаРустам
?>

Подскажите, что нужно изменить, чтобы программа правильно работала(паскаль) заполнить массив случайными числами в интервале [-100, 100] и переставить элементы так, чтобы все положительные элементы стояли в начала массива, а все отрицательные и нули – в конце. вычислите количество положительных элементов. пример: массив: 20 -90 15 -34 10 0 результат: 20 15 10 -90 -34 0 количество положительных элементов: 3 var i, c: integer; w: array[1..10] of integer; a: array[1..10] of integer; begin randomize; for i: =1 to 10 do a[i]: =random(201)-100; for i: =1 to 10 do if a[i]> 0 then begin w[i]: =a[i]; c: =c+1; end; writeln('кол-во положительных элементов: ', c); for i: =1 to 10 do begin if a[i]< =0 then begin a[c]: =w[c]; end; end; writeln('получившийся массив: '); writeln(' '); for i: =1 to 10 do write(w[i], ' '); end.

Информатика

Ответы

olgusikok
Const
    n = 10;

var
    i, c: integer;
    a, w: array[1..n] of integer;

begin
    randomize;
    
    writeln('Исходный массив:');
    for i := 1 to n do
    begin
        a[i] := random(201) - 100;
        write(a[i], ' ');
    end;
    writeln;
    
    c := 0;
    for i := 1 to n do
        if a[i] > 0 then
        begin
            c := c + 1;
            w[c] := a[i];
        end;
    
    writeln('Кол-во положительных элементов: ', c);
    for i := 1 to n do
    begin
        if a[i] <= 0 then
        begin
            c := c + 1;
            w[c] := a[i];
        end;
    end;
    
    writeln('Результат:');
    for i := 1 to c do
        write(w[i], ' ');
end.
tteplovoz3789
Var i,c,k,j:integer;a:array[1..10] of integer;beginrandomize;writeln('Получившийся массив:');for i:=1 to 10 do begina[i]:=random(201)-100; if a[i]>0 then k:= k +1;write(a[i],' ');end;for i:=1 to 10 do beginfor j:=2 to 10 do beginif a[j] > a[j-1] then beginc:=a[j]; a[j]:= a[j-1];a[j-1]:=c;end;end;end;
writeln;writeln('Кол-во положительных элементов: ',k);writeln('Измененный массив:');for i:=1 to 10 dowrite(a[i],' ');end.
KseniGum9

Компьютерные словари. Словари необходимы для пере­вода текстов с одного языка на другой. Первые словари были созданы около 5 тысяч лет назад в Шумере и представ­ляли собой глиняные таблички, разделенные на две части. В одной части записывалось слово на шумерском языке, а в другой — аналогичное по значению слово на другом язы­ке, иногда с краткими пояснениями.

Современные словари построены по такому же принци­пу. В настоящее время существуют тысячи словарей для перевода между сотнями языков (англо-русский, немец­ко-французский и т. д.), причем каждый из них может со­держать десятки тысяч слов. В бумажном варианте словарь представляет собой толстую книгу объемом в сотни страниц, в которой поиск нужного слова — процесс достаточно трудо­емкий.

Компьютерные словари могут содержать переводы на разные языки сотен тысяч слов и словосочетаний, а также предоставляют пользователю дополнительные возможности:

•существуют многоязычные компьютерные словари, позволяющие пользователю выбрать языки и направ­ление перевода (например, англо-русский, испано-рус­ский и т. д.); •компьютерные словари могут кроме основного словаря общеупотребительных слов содержать десятки специа­лизированных словарей по областям знаний (техника, медицина, информатика и др.); •компьютерные словари обеспечивают быстрый поиск словарных статей: «быстрый набор», когда в процессе набора слова возникает список похожих слов; доступ к часто используемым словам по закладкам; возмож­ность ввода словосочетаний и др.; •компьютерные словари могут являться мультимедий­ными, т. е. предоставлять пользователю возможность

прослушивания слов в исполнении дикторов, носите­лей языка;

• онлайновые компьютерные словари в Интернете обес­печивают выбор тематического словаря и направления перевода.

Системы компьютерного перевода. Происходящая в на­стоящее время глобализация нашего мира приводит к необ­ходимости обмена документами между людьми и организа­циями, находящимися в разных странах мира и говорящими на различных языках.

В этих условиях использование традиционной техноло­гии перевода «вручную» тормозит развитие межнациональ­ных контактов. Перевод многостраничной документации вручную требует длительного времени. Перевод полученного по электронной почте письма или просматриваемой в брау­зере Web-страницы необходимо осуществить «здесь и сей­час», и нет возможности и времени пригласить переводчика.

Системы компьютерного перевода позволяют решить эти проблемы. Они, с одной стороны переводить мно­гостраничные документы с высокой скоростью (одна страни­ца в одну секунду), с другой стороны, переводить Web-стра­ницы «на лету», в режиме реального времени.

Системы компьютерного перевода осуществляют пере­вод текстов, основываясь на формальном «знании» языка: синтаксиса языка (правил построения предложений), пра­вил словообразования и использовании словарей. Програм­ма-переводчик сначала анализирует текст на одном языке, а затем конструирует этот текст на другом языке.

Онлайновые компьютерные переводчики в Интернете обеспечивают выбор тематического словаря и направления перевода. Они позволяют переводить любые тексты, набран­ные в окне перевода или скопированные из буфера обмена, Web-стракицы, включая гиперссылки, с сохранением исход­ного форматирования, а также электронные письма.

Современные системы компьютерного перевода позволя­ют с приемлемым качеством переводить техническую доку­ментацию, деловую переписку и другие специализированные тексты. Но на эти системы нельзя полностью полагаться. Они допускают смысловые и стилистические ошибки и непри­менимы, например, для перевода художественных произве­дений, так как не адекватно переводить метафоры, аллегории и другие элементы художественного творчества человека и т. д.

krylova-natali
В многонациональном и мультиязычном мире существует проблема международной коммуникации. Людей, свободно говорящих на многих языках, меньше, чем людей, которым требуется перевод речи собеседника, научных текстов или видеоматериалов. Для разрешения подобных проблем появились системы компьютерного перевода.

Прообразы систем компьютерного перевода появились в начале 1930-х годов, работали такие системы по принципу словарей: на вход механизму подавались специально подготовленные наборы слов, которые переводились машиной, результат интерпретировался человеком, создававшим из него осмысленный текст.

Первые системы компьютерного перевода появились после второй мировой войны, содержали списки переводов слов и небольшой набор правил грамматики. В первой публичной демонстрации машинного перевода (1954 год, Джорджтаун) использовалась система, основанная на словаре из 250 записей, и всего на 6 правилах грамматики. Несмотря на позитивный настрой разработчиков, значительное финансирование и интерес со стороны средств массовой информации, переводчик был скорее игрушкой, качество перевода было невысоким. В последующие годы предпринимались многочисленные попытки улучшить качество перевода.

В 1980-х годах обрели широкое рас микрокомпьютеры, на базе которых были созданы портативные компьютерные переводчики. Это подогрело интерес к системам компьютерного перевода со стороны промышленности и, как следствие, и мотивацию учёных. В это же время начали развиваться системы распознавания и генерации речи, что давало надежды на машинный перевод в режиме "on-air", во время разговора.

В настоящее время используется множество систем компьютерного перевода. К системам с заранее заданными правилами перевода добавляют статистические модели, самообучающиеся алгоритмы. Популярен подход с использованием нейронных сетей - алгоритмов, которые состоят из множества изменяющихся под действием обучения частей (нейронов), которые выдают ответ, интерпретируя сигналы, возвращаемые нейронами. Усложнения используемых алгоритмов позволяют получать результаты, приближенные к переводам переводчиков-людей.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Подскажите, что нужно изменить, чтобы программа правильно работала(паскаль) заполнить массив случайными числами в интервале [-100, 100] и переставить элементы так, чтобы все положительные элементы стояли в начала массива, а все отрицательные и нули – в конце. вычислите количество положительных элементов. пример: массив: 20 -90 15 -34 10 0 результат: 20 15 10 -90 -34 0 количество положительных элементов: 3 var i, c: integer; w: array[1..10] of integer; a: array[1..10] of integer; begin randomize; for i: =1 to 10 do a[i]: =random(201)-100; for i: =1 to 10 do if a[i]> 0 then begin w[i]: =a[i]; c: =c+1; end; writeln('кол-во положительных элементов: ', c); for i: =1 to 10 do begin if a[i]< =0 then begin a[c]: =w[c]; end; end; writeln('получившийся массив: '); writeln(' '); for i: =1 to 10 do write(w[i], ' '); end.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Шеина
makeeva-nataliya60
subbotinlan
arina2403423
Калмыкова-Петрунина
lavr74
muz-cd
muzeynizhn
Rafigovich1267
vainshakov
langprint
Karina-evgenevna1899
ev27076878
natapetrova20017
mali2681208