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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2007, 18:41   #1
Cizen
Новичок
Джуниор
 
Регистрация: 02.07.2007
Сообщений: 2
По умолчанию Пожалуйста, помогите решить задачку.

Вот такая задача:

Проверить, есть ли в заданной целочисленной последовательности a1 , a2 , ..., aN элементы, равные нулю. Если есть, найти номер первого из них, если нет – выдать соответствующий текст.

Помогите плиз.
Cizen вне форума Ответить с цитированием
Старый 02.07.2007, 19:58   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Данные как вводятся?
zetrix вне форума Ответить с цитированием
Старый 02.07.2007, 21:00   #3
Tayfun
Форумчанин
 
Аватар для Tayfun
 
Регистрация: 24.06.2007
Сообщений: 351
По умолчанию Ммммм да.........

program zad1;
uses crt;
const max_n=100;
type
mass:array[1..max_n] of integer;
var
a:mass;
n,i:integer;
b:boolean;
begin
clrscr;
writeln('VVEDITE n');
readln(n);
for i:=1 to n do begin
a[i]:=random(10);
write(a[i],' ');
end;
writeln;
b:=false;
writeln('POSITION:');
for i:=1 to n do
if a[i]=0 then begin write(i,' '); b:=true;
end;
if b=false then writeln('OTSUTSTVUET');
readkey;
end.
Я не маюсь бездельем, я от него тащусь!
Tayfun вне форума Ответить с цитированием
Старый 02.07.2007, 21:03   #4
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Код:
var number,index,zero,N:integer;

begin
  zero:=0;
  writeln('Введите количество чисел');
  readln(N);
  for index:=1 to N do
  begin
    writeln('Введите ',index,'-е число ');
    readln(number);
    if number=0 then zero:=index
  end;
  if zero=0 then writeln('Нулей нет')
  else writeln(zero,'-й элемент нулевой');
  readln
end.
PS. Пока писАл, уже ответ появился...
Carbon вне форума Ответить с цитированием
Старый 02.07.2007, 21:05   #5
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

А нафиг массив?
Carbon вне форума Ответить с цитированием
Старый 02.07.2007, 21:08   #6
krypton
Пользователь
 
Аватар для krypton
 
Регистрация: 26.06.2007
Сообщений: 22
Радость

const n=10 {n любое целое число}
var
a:array[1..n] of integer;
i,k:integer;

begin
k:=0;
randomize;
for i:=1 to n do
a[i]:=random(n); { заполняем массив произвольными числами}
for i:=1 to n do
if a[i]=0 then begin
writeln('a[',i,']=0')
k:=1; {для определения случая когда нет ни одного}
{ числа равного нулю }
break;
end;
if k=0 then writeln('Net ni odnogo elementa ravnogo nulu!');
end;
Дорогу одолеет идущий.
http://www.krypton.ucoz.net
"Кто владеет информацией - тот владеет миром!"
Уинстон Черчиль (Натан Ротшильд, Френсис Бекон)
krypton вне форума Ответить с цитированием
Старый 02.07.2007, 21:24   #7
Tayfun
Форумчанин
 
Аватар для Tayfun
 
Регистрация: 24.06.2007
Сообщений: 351
По умолчанию

Цитата:
Сообщение от Carbon Посмотреть сообщение
А нафиг массив?
Ну, что бы злые учителя не придерались
Я не маюсь бездельем, я от него тащусь!
Tayfun вне форума Ответить с цитированием
Старый 02.07.2007, 23:14   #8
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Цитата:
Ну, что бы злые учителя не придерались
Чем эффективнее код, тем лучше.
Carbon вне форума Ответить с цитированием
Старый 02.07.2007, 23:35   #9
Cizen
Новичок
Джуниор
 
Регистрация: 02.07.2007
Сообщений: 2
По умолчанию

Спасибо огромное !!!
Cizen вне форума Ответить с цитированием
Старый 03.07.2007, 08:27   #10
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

2 Carbon: Не совсем правильно, автор просит вывести номер первого нулевого элемента, а у Вас выводит последний. Вот доработал Ваш код:
Код:
var number,index,zero,N:integer;
Find:boolean=false;
 
begin
  zero:=0;
  writeln('Введите количество чисел');
  readln(N);
  for index:=1 to N do
  begin
    writeln('Введите ',index,'-е число ');
    readln(number);
    if (number=0) and (Find=false) then 
      begin
       zero:=index;
       Find:=true;
     end;
  end;
  if zero=0 then writeln('Нулей нет')
  else writeln(zero,'-й элемент нулевой');
  readln
end.
Alex21 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребата, пожалуйста помогите решить задачку Paige Hollivel Паскаль, Turbo Pascal, PascalABC.NET 3 25.06.2008 10:27
помогите пожалуйста решить задачку,очень надо __k1ll3r__ Паскаль, Turbo Pascal, PascalABC.NET 2 28.05.2008 08:47
Помогите решить задачку пожалуйста Никитка89 Паскаль, Turbo Pascal, PascalABC.NET 5 25.05.2008 22:33
помогите, пожалуйста, решить задачку vol1 Паскаль, Turbo Pascal, PascalABC.NET 3 08.01.2008 21:09