Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2012, 21:33   #1
rtif
Новичок
Джуниор
 
Регистрация: 21.03.2012
Сообщений: 3
По умолчанию линейный массив. найдите ошибки в задачах!

IMG_1944.jpg
где у меня ошибка я не понимаю , когда выходит число 0 он пишет 1 , а нужно 0!
ВАРИАНТ1 ЗАДАЧА1
Код:
uses crt;
var
a:array[1..100] of integer;
i,n,k:byte;
begin
writeln('ââåäèòå ðàçìåðíîñòü ìàññèâà');
read(n);
for i:=1 to n do
begin
a[i]:=random(101)-0;
write(a[i]:5);
end;
writeln;
for i:=1 to n do
begin
if a[i] mod 2=0  then
a[i]:=2
else
a[i]:=1;
write(a[i]:5)
end;
end.
ЗАДАЧА2
Почему-то ответ состоит из единиц?Что я не так делаю?
Код:
uses crt;
var
a:array[0..100] of integer;
i,n,z,s:integer;
begin
writeln('ââåäèòå ðàçìåðíîñòü ìàññèâà');
readln(n);
s:=0;
for i:=1 to n do
begin
a[i]:=random(201)-100;
write(a[i]:5);
end;
writeln;
for i:=1 to n do
begin
z:=a[1];
if a[i]=a[1] then
s:=s+1;
write(s);
end;
end.
задача№3
сумма равняется 0 и числа на экран выходят не четные, не положительные!
Код:
uses crt;
var
a:array[1..100] of integer;
i,n,z,k:integer;
begin
k:=0;
 writeln('ââåäèòå ðàçìåðíîñòü ìàññèâà');
 readln(n);
for i:=1 to n do
begin
a[i]:=random(301)-150;
writeln(a[i]:5);
end;
writeln;
for i:=i to n do
if (a[i]>0) and (a[i] mod 2=0) then
k:=k+a[i];
writeln(z);
end.

Последний раз редактировалось Stilet; 21.03.2012 в 21:43.
rtif вне форума Ответить с цитированием
Старый 21.03.2012, 21:41   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

скорее не 1 а 2 при делении 0 на 2 остаток тоже 0 будет,
0 ведь оно тоже чётное, поэтому:
Код:
for i:=1 to n do
begin
if a[i]<>0 then
begin
if a[i] mod 2=0 then
a[i]:=2
else
a[i]:=1;
end;
write(a[i]:5)
end;
vovk вне форума Ответить с цитированием
Старый 21.03.2012, 21:47   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

1)
Код:
...
if a[i]<>0 then begin
 if (a[i] mod 2)=0  then a[i]:=2 else
 a[i]:=1;
end;
...
2)
Код:
for i:=1 to n do begin
 if a[i]=a[1] then s:=s+1;
end;
write(s);
3)
Код:
k:=k+a[i];
writeln(k);
А не Z. Будь внимателен.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.03.2012, 21:55   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

О, теперь вижу что о других задачах спрашивал))
А пока код в теги не загнали, даже как то и не заметил ничего кроме 1 вопроса..
vovk вне форума Ответить с цитированием
Старый 21.03.2012, 22:01   #5
rtif
Новичок
Джуниор
 
Регистрация: 21.03.2012
Сообщений: 3
По умолчанию

vovk, спасибо большое))
Stilet, а во 2 задаче все равно получается ошибка((
rtif вне форума Ответить с цитированием
Старый 21.03.2012, 22:08   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

2)

Код:
for i:=0 to n do // я так понял что надо 1 элемент, а не элемент с индексом 1, значит вроде нужно a[0] сравнивать.
begin
//z:=a[1]; //не понятно что это и зачем
if a[i]=a[0] then
s:=s+1;
end;
write(s);//выводить после того как посчитали, а не во время
всё пора спать
3)

Код:
for i:=i to n do//обратите внимание с чего начинаем, этот цикл выполнятся не будет, так как i = n после последнего цикла
if (a[i]>0) and (a[i] mod 2=0) then
k:=k+a[i];
writeln(k);
end.

Последний раз редактировалось vovk; 21.03.2012 в 22:25.
vovk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно исправить ошибки в задачах по Pelles C. Alikcey Помощь студентам 1 06.06.2011 17:50
Найдите ошибки zircul Паскаль, Turbo Pascal, PascalABC.NET 9 06.10.2010 17:23
Не могу найти ошибки в задачах Кипятилка Помощь студентам 4 01.07.2009 17:58
Проверьте ошибки пожалуйста в задачах. velgelmina Помощь студентам 3 09.06.2007 22:10