Даны натуральное число N, целое число A и массив X(n). Если в массиве X(n) есть хотя бы один член, равный А, то получить сумму всех членов, следующих за первым таким членом, в противном случае ответом должно быть число -10.
Cам пытался но не вышло ((( Вот: for i:=1 to n do if a=A then for j:=i+1 to n do s:=s+a[j] else writeln('Otvet -10');
Другие языки программирования и технологии
помогите написать прогу в паскале срочно!!
i:=1;s:=0;elementFound:=false;
while (i <= n) and not elementFound do begin
if X[ i]=A then begin
elementFound:=true;{нашли! }
j:=i+1 to n do s:=s+x[ j];
end;
i:=i+1;
end;
if elementFound then writeln(s)
else writeln(-10);
Вместо булевой переменной elementFound можно хранить признак находки в i (если в конце цикла i=n+1, то не нашли, а если n+2, то нашли) ; но это идеологически неправильно.
И не совсем понятно, как быть, если последний элемент равен A.
while (i <= n) and not elementFound do begin
if X[ i]=A then begin
elementFound:=true;{нашли! }
j:=i+1 to n do s:=s+x[ j];
end;
i:=i+1;
end;
if elementFound then writeln(s)
else writeln(-10);
Вместо булевой переменной elementFound можно хранить признак находки в i (если в конце цикла i=n+1, то не нашли, а если n+2, то нашли) ; но это идеологически неправильно.
И не совсем понятно, как быть, если последний элемент равен A.
Во первых, забыл Брейк, во-вторых, результат кто выводить будет, Пушкин?
Вместо
тхен фор ж: =и+1 то н до с: =с+х [ж]
Надо
тхен бегин фор ж: =и+1 то н до с: =с+х [ж] ; вывод (с) ; брейк; енд;
Сорри за транслит, англ. буквы писать не могу
Вместо
тхен фор ж: =и+1 то н до с: =с+х [ж]
Надо
тхен бегин фор ж: =и+1 то н до с: =с+х [ж] ; вывод (с) ; брейк; енд;
Сорри за транслит, англ. буквы писать не могу
Если не получается, выбери способ проще но длиннее:
Var n,a,sum:integer; i,s,k:byte; {n-длина массива a-заданное число i-индексы массива s- исп. для запоминания номера элемента который равен а k-флаг }
x:array[1..32000]of integer;
begin
{ввод}
writeln('A,N = ');
readln(a,n);
writeln('Введите массив ');
for i:=1 to n do readln(x);
{проверка: есть ли элемент равный а}
for i:=1 to n do
if x[ i ]=a then begin k:=1; s:=i; end;
{Если да считаем сумму и выводим, нет - вывод -10}
if k=1 then begin
for i:=s+1 to n do
sum:=sum+x[ i ];
writeln('Cумма = ',sum) end
else writeln('-10');
end.
Var n,a,sum:integer; i,s,k:byte; {n-длина массива a-заданное число i-индексы массива s- исп. для запоминания номера элемента который равен а k-флаг }
x:array[1..32000]of integer;
begin
{ввод}
writeln('A,N = ');
readln(a,n);
writeln('Введите массив ');
for i:=1 to n do readln(x);
{проверка: есть ли элемент равный а}
for i:=1 to n do
if x[ i ]=a then begin k:=1; s:=i; end;
{Если да считаем сумму и выводим, нет - вывод -10}
if k=1 then begin
for i:=s+1 to n do
sum:=sum+x[ i ];
writeln('Cумма = ',sum) end
else writeln('-10');
end.
Похожие вопросы
- СРОЧНО ПОМОГИТЕ!!! Напишите прогу на паскале
- Помогите написать прогу на паскале
- Помогите написать прогу на Паскале, экзамен горит, очень нужно..
- Помогите написать прогу на паскале!
- люди помогите написать прогу в паскале чтоб она запрашивала число и потом писала простое оно или нет, всю голову сломал
- помогите написать прогу в паскале:)
- Помогите написать ПРОГУ ПО ПАСКАЛЮ!!!
- СРОЧНО ! Напишите прогу на Паскале
- напишите проги в ПАСКАЛЕ плиз!!!очень надо.
- Помогите плиз, написать прогу на Си++! Срочно очень нужно!