Другие языки программирования и технологии
помогите пожалуйста..паскаль..составить программу вычисления суммы неповторяющихся элементов одномерного массива
очень нужно(((
Логичнее эту задачу решать с помощью множеств. Но вы не указали какие числа являются элементами массива и из какого диапазона принимают значения. В большинстве реализаций Паскаля элементами множества могут быть только целые числа от 0 до 255. В редких случаях диапазон множеств расширен до типа integer. Поэтому программа написана в общем виде для действительных чисел, естественно без использования множеств.
И диалект Паскаля вы тоже не указали, поэтому программа получилась корявой, чтобы её можно было откомпилировать компилятором практически любого диалекта.
program N74489806;
{$APPTYPE CONSOLE} {Эта строка только для Delphi}
var
a: array [0 .. 199] of real;
n, i, j, k: byte;
s: real;
begin
randomize;
n := random(181) + 20;
writeln('Дан массив A[', n, ']:');
for i := 0 to n - 1 do
begin
a[і] := (integer(random(199)) - 99) / 10;
write(a[і]:5:1);
end;
s := 0;
k := 0;
for i := 0 to n - 1 do
begin
j := 0;
while (j < n) and ((i = j) or (a[і] <> a[j])) do
inc(j); {или j := j + 1;}
if j = n then
begin
s := s + a[і];
inc(k) {или k := k + 1}
end
end;
writeln;
if k = 0 then
writeln('Нет неповторяющихся элементов')
else
writeln('Сумма неповторяющихся элементов = ', s:0:1);
readln
end.
P.S. Проверено в Turbo Pascal, Virtual Pascal, Free Pascal, GNU Pascal, Delphi, TMT Pascal, PascalABC, PascalABC.NET.
И диалект Паскаля вы тоже не указали, поэтому программа получилась корявой, чтобы её можно было откомпилировать компилятором практически любого диалекта.
program N74489806;
{$APPTYPE CONSOLE} {Эта строка только для Delphi}
var
a: array [0 .. 199] of real;
n, i, j, k: byte;
s: real;
begin
randomize;
n := random(181) + 20;
writeln('Дан массив A[', n, ']:');
for i := 0 to n - 1 do
begin
a[і] := (integer(random(199)) - 99) / 10;
write(a[і]:5:1);
end;
s := 0;
k := 0;
for i := 0 to n - 1 do
begin
j := 0;
while (j < n) and ((i = j) or (a[і] <> a[j])) do
inc(j); {или j := j + 1;}
if j = n then
begin
s := s + a[і];
inc(k) {или k := k + 1}
end
end;
writeln;
if k = 0 then
writeln('Нет неповторяющихся элементов')
else
writeln('Сумма неповторяющихся элементов = ', s:0:1);
readln
end.
P.S. Проверено в Turbo Pascal, Virtual Pascal, Free Pascal, GNU Pascal, Delphi, TMT Pascal, PascalABC, PascalABC.NET.
А что вы сами пытались делать для решения этой задачи?
icq 118024746
Похожие вопросы
- Помогите пожалуйста написать программу на c++. Упорядочить элементы одномерного массива по убыванию.
- помогите пожалуйста, нужно составить программу на языке Паскаль
- Помогите с С++. Надо найти произведение элементов одномерного массива между первым и последним 0.
- составить программу вычисление 2**64(два в шестьдесят четвёртой степени), на паскале, с помощтью циклов
- C#. Элементы одномерного массива размером 7, которые больше среднего значения элементов массива, заменить на 0.
- Пожалуйста, будтье так добры, помочь решить задчаку в Паскале: Составьте программу, печатающую последнее слово в ...
- Создайте программу вычисления суммы трехзначных чисел
- помогите написать программу на языке Си: В одномерном массиве целых чисел заменить максимальное значение минимальным.
- Помогите пожалуйста, с составлением программы в паскале, очень срочно! Только пожалуйста, вставьте данные, которые ниже
- Turbo Pascal помогите пожалуйста. помогите пожалуйста с написание программы для вычисления 1-й и 2-й производной функции