Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
12:48
3780
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->

Автор[трабл] задачка по информатике-2
никак не могу решить:
1.вывести на печать номера тех элементов массива, для которых выполняется условие ai(здесь i пишется чуть ниже а)>i.
2.найти количество положительных элементов массива.
3.вывести на печать элементы массива, оканчивающиеся на 2.
4.заменить отрицательные элементы массива нулями.
Excel?
На сколько я понимаю, Pascal...первый курс...
Скорей даже Pascal 6 класса.
Я Бейсик изучал в паскале граматику плохо знаю, но в задачах не вижу ничего сложного.
замутя хз как такое делать
program p1;
const n=10
var a:array[1..n] of integer;
i:byte;
k:byte;
Begin
writeln('Введите элементы массива');
for i:=1 to n do
readln(a[i]);
writeln('Элементы массива, для которых выполняется a[i]>i');
for i:=1 to n do
if a[i]>i then write(a[i],' ');
writeln;
k:=0;
for i:=1 to n do
if a[i]>0 then inc(k);
writeln('Число положительных элементов массива=',k);
writeln('Элементы массива, оканчивающиеся на 2:');
for i:=1 to n do
if (a[i] mod 10)=2 then write(a[i],' ');
writeln;
for i:=1 to n do
if a[i]<0 then a[i]:=0;
writeln('Массив после замены:');
for i:=1 to n do
write(a[i],' ')
End;
В конце точка, а не точка с запятой. В операторах Write в пустых кавычках - пробелы, почему-то не напечатались здесь.
подготовительная билеберда (описание переменных, массивов)

for p:=0 do i
begin
if a[p]>p then write a[p];
end.


for p:=0 do i
begin
if a[p]>0 then write a[p];
end.


for p:=0 do i
begin
if ABS(a[p]-10*trunc(a[p]\10))=2 о then write a[p];
end.


for p:=0 do i
begin
if a[p]>0 then write a[p] else write 0;
end.


граматикой сам займись.

ABS - модуль числа (всегда положительное) как в паскале пишется я незнаю.
8
Поправлю:

for p:=0 do i
begin
if a[p]>p then write(a[p]);
end;

s:=0;
for p:=0 do i
begin
if a[p]>0 then s:=s+1;
end;
write(s);


for p:=0 do i
begin
if (a[p]mod 10)=2 о then write(a[p]);
end;


for p:=0 do i
begin
if a[p]<0 then a[p]:=0;
end;
для Edhardt:

За mod знал.Но не знаю тонкости.
Ecли а[p] отрицательно то результат все равно положительный?
10
Хммм... наверно для отрицательных не так, ты прав
нужно переправить, например так:

for p:=0 do i
begin
if (a[p]>0) and (a[p]mod 10)=2 then write(a[p]);
if (a[p]<0) and (a[p]mod 10)=8 then write(a[p]);
end;
для DEYDERIK:
Ты совершенно прав. Я перепроверил. Вот так нужно

for p:=0 do i
begin
if (a[p]mod 10)=2 or (a[p]mod 10)=-2 then write(a[p]);
end;
тогда уж проще
if ((abs(a[p])) mod 10)=2)...
Но вот зачем вы употребляете begin..end при единственном операторе в циклах - это для меня загадка)
13
Мы не употребляем. Это случайность, лень переправлять было.
энто дэлфи, 10 класс. у нас в 8 и 9 информатики не было вот и паримся)
ап
для Aili:
говорю ж бейсик учил.тогда паскаль у нас не преподавали.
для Апгрейт:
У дэлфи основа паскаль наскока я знаю.так что 6 топик бери за основу.
единственно строчку с mod поменяй как в 13.
program p1;
const n=10
var a:array[1..n] of integer;
i:byte;
k:byte;
Begin
writeln('Введите элементы массива');
for i:=1 to n do
readln(a[i]);
writeln('Элементы массива, для которых выполняется a[i]>i');
for i:=1 to n do
if a[i]>i then write(a[i],' ');
writeln;
k:=0;
for i:=1 to n do
if a[i]>0 then inc(k);
writeln('Число положительных элементов массива=',k);
writeln('Элементы массива, оканчивающиеся на 2:');
for i:=1 to n do
if (a[i] mod 10)=2 then write(a[i],' ');
writeln;
for i:=1 to n do
if a[i]<0 then a[i]:=0;
writeln('Массив после замены:');
for i:=1 to n do
write(a[i],' ')
End


Pascal 6 класса

угу, а че не 3 класса?
К списку тем
2007-2025, онлайн игры HeroesWM