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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2011, 12:19   #1
Pandemona18
 
Регистрация: 08.03.2011
Сообщений: 6
Вопрос задачки (Массивы)

11.172. Даны массив, упорядоченный по возрастанию, и число А, о котором известно следующее: оно не равно ни одному из элементов массива, больше первого и меньше последнего элемента.
а) Вывести все элементы массива, меньшие А.
б) Найти два элемента массива (их порядковые номера и значение), в интервале между которыми находится значение А.
в) Найти элемент массива, (его порядковый номер и значение), ближайший к А.
В задачах а и б условный оператор не использовать.

11.180. В массиве имеются только два одинаковых элемента. Найти их.

11.187. Известны данные о мощности двигателя 30 моделей легковых автомобилей. Есть ли среди них модель, мощность двигателя которой превышает 200 л,с. ?
Pandemona18 вне форума Ответить с цитированием
Старый 08.03.2011, 12:31   #2
Летучий_СкилетиК
Форумчанин
 
Аватар для Летучий_СкилетиК
 
Регистрация: 04.02.2011
Сообщений: 260
По умолчанию

И в чем проблемма? показывыйте код разберемся.
Летучий_СкилетиК вне форума Ответить с цитированием
Старый 08.03.2011, 12:31   #3
Ponkole
Форумчанин
 
Регистрация: 02.07.2010
Сообщений: 167
По умолчанию

На А ответ:
Код:
var b:array [1..100] of integer;
     n,i,a:integer;
begin
writeln('vvedite chislo elementov  ');
read(n);//ты тут считываешь массив и само исло
writeln('vvedite massiv    ')
for i:=1 to n do
read(b[i]);
writeln('vvedite chislo a   '
read(a);
for i:=1 to n do
if b[i]<a then write(b[i],' ') else break;
end.

НУ или так

Код:
var b:array [1..100] of integer;
     n,i,a:integer;
begin
writeln('vvedite chislo elementov  ');
read(n);//ты тут считываешь массив и само исло
writeln('vvedite massiv    ')
for i:=1 to n do
read(b[i]);
writeln('vvedite chislo a   '
read(a);
i:=1;
while b[i]<a do
begin 
write(b[i],' ');
inc(i);
end;
end.
На Б ответ
Код:
var b:array [1..100] of integer;
     n,i,a:integer;
begin
writeln('vvedite chislo elementov  ');
read(n);//ты тут считываешь массив и само исло
writeln('vvedite massiv    ')
for i:=1 to n do
read(b[i]);
writeln('vvedite chislo a   '
read(a);
i:=1;
while b[i]<a do
inc(i);
writeln('mesdu ',i-1,' ravnui  ',b[i-1]);
writeln('mesdu ',i,' ravnui  ',b[i]);
end.


На В ответ

Код:
var b:array [1..100] of integer;
     n,i,a:integer;
begin
writeln('vvedite chislo elementov  ');
read(n);//ты тут считываешь массив и само исло
writeln('vvedite massiv    ')
for i:=1 to n do
read(b[i]);
writeln('vvedite chislo a   '
read(a);
i:=1;
while b[i]<a do
inc(i);
if abs(b[i]-a)<abs(b[i-1]-a) then
writeln('',i,' ravnui  ',b[i]);
writeln('',i-1,' ravnui  ',b[i-1]);
end.

На 11.180 ответ

Код:
var a:array [1..100] of integer;
     n,i,j:integer;
begin
writeln('vvedite chislo elementov  ');
read(n);//ты тут считываешь массив и само исло
writeln('vvedite massiv    ')
for i:=1 to n do
read(a[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]=a[j] then 
begin
writeln(i,' element i ',j);
exit;
end;
end.
На 11.187 ответ:

Код:
var a:array [1..100] of integer;
     n,i,j:integer;
begin
n:=30;//ты тут считываешь массив
writeln('vvedite massiv    ')
for i:=1 to n do
read(a[i]);
j:=0;
for i:=1 to 30 do
if a[i]>200 then 
inc(j);
if j>0 then writeln('Yest') else writeln('Net');
end.
Если я тебе помог, помоги и ты мне +ом с комментарием

Последний раз редактировалось Ponkole; 08.03.2011 в 12:50.
Ponkole вне форума Ответить с цитированием
Старый 08.03.2011, 12:44   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Код:
for i:=1 to n do
if b[i]<a then write(b[i],' ') else break;
ну, мне кажется, в данной задаче гораздо лучше использовать цикл с условием. например:
Код:
i:=1;
While b[i]<a do begin
  write(b[i],' ');
  inc(i);
end;
хотя, конечно, это дело вкуса..
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 Задачки на массивы в Паскале Nikolai17 Помощь студентам 6 19.11.2009 17:26
задачки на массивы в Си Defa4ka Помощь студентам 2 25.10.2009 18:03
Задачки на массивы Маськ@ Паскаль, Turbo Pascal, PascalABC.NET 4 20.12.2008 15:26
Задачки на матрицы и массивы Dibox Помощь студентам 1 18.12.2007 06:46