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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2012, 18:40   #1
Ия Ильина
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 28
По умолчанию массив

1. дан массив состоящий из 20 элементов. заполнить его с клавиатуры. найти:
-сумму элементов имеющих нечетное значение;
-вывести индексы тех элементов, значения которых больше заданного числа А.

2. определить есть ли в данном массиве положительные элементы, кратные K (K вводить с клавиатуры)
Ия Ильина вне форума Ответить с цитированием
Старый 31.01.2012, 18:51   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

вот первое...
Код:
var 
b: array [1..20] of integer; 
i,k,a,s: integer;
begin
  for i:=1 to 20 do
    begin
      write('b[',i,']=');
      readln(b[i]);
    end;
  // находим сумму нечетных
  s:=0;
  for i:=1 to 20 do
    if ((b[i] mod 2) = 1) then
    s:= s + b[i];
    writeln('Сумма нечетных элементов: ', s);
  // индексы которые больге А
 write('Введите А ');
 readln(a);
 writeln('индексы чисел больших А=',a);
 for i:=1 to 20 do
 if b[i] > a then
 writeln(i);
end.
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 31.01.2012, 18:57   #3
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

во втором проверка будет следующей:

Код:
const n:= ваше_число;
var
b: array [1..n] of integer;
flag: boolean;
..............
readln(k);
flag:= false;
for i:=1 to n do // n - количество элементов
if (( b[i] mod k ) = 0) and (b[i] > 0) then
begin 
flag:= true;
break;
end;

if flag then
writeln("кратные числа есть")
else 
writeln("нету");
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 31.01.2012, 19:03   #4
Ия Ильина
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 28
По умолчанию

flag: boolean;
..............
readln(k);
flag:= false;


что это означает? мы такого еще не проходили!
Ия Ильина вне форума Ответить с цитированием
Старый 31.01.2012, 19:07   #5
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

это собственно булевская переменная... много точек это так.. тобишь перед этим ваш ввод с клавы...
заменить flag можно тогда на переменную числового значения тогда будет вид:
Код:
const n:= ваше_число;
var
b: array [1..n] of integer;
index: integer;
..............
readln(k);
index:=0;
for i:=1 to n do // n - количество элементов
if (( b[i] mod k ) = 0) and (b[i] > 0) then
begin 
index:=1;
break;
end;

if index = 1 then
writeln("кратные числа есть")
else 
writeln("нету");
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 31.01.2012, 19:15   #6
Ия Ильина
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 28
По умолчанию

break что значит?
Ия Ильина вне форума Ответить с цитированием
Старый 31.01.2012, 19:16   #7
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Первая -
Код:
program ProjectMatrixSchet;
uses
  SysUtils;
const
  n=20;
var
  Arr:array[1..n] of Integer;
  Sum,i,A:Integer;
begin
  sum:=0;
  writeln('Input 20 elements of massive:');
  for i:=1 to n do
  begin
    write('Mas[',i,'] = ');
    readln(Arr[i]);
    if (Arr[i] mod 2)<>0 then
      Sum:=sum+Arr[i];
  end;
  Writeln('Summa = ',sum);
  write('Input number A = ');
  readln(A);
  write('Indexes - ');
  for i:=1 to n do
    if Arr[i]>A then
      write(i,' ');
  readln;
end.
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 31.01.2012, 19:22   #8
Ия Ильина
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 28
По умолчанию

Код:
var b: array [1..20] of integer;
index,i, k: integer;
begin
for i:=1 to 20 do
begin
write ('b[',i,']=');
readln (b[i]);
end;
writeln('введите k');
readln(k);
index:=0;
for i:=1 to 20 do
if (( b[i] mod k ) = 0) and (b[i] > 0) then
writeln('да')
else
writeln('нет');
end.

я написала
но он мне выдает к каждому элементу ответ да или нет
а как сделать чтобы в целом говорил?

Последний раз редактировалось ACE Valery; 31.01.2012 в 21:40.
Ия Ильина вне форума Ответить с цитированием
Старый 31.01.2012, 19:23   #9
Ия Ильина
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 28
По умолчанию

спасибо, первую я уже решила
Ия Ильина вне форума Ответить с цитированием
Старый 31.01.2012, 19:26   #10
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Цитата:
Сообщение от Ия Ильина Посмотреть сообщение
var b: array [1..20] of integer;
index,i, k: integer;
begin
for i:=1 to 20 do
begin
write ('b[',i,']=');
readln (b[i]);
end;
writeln('введите k');
readln(k);
index:=0;
for i:=1 to 20 do
if (( b[i] mod k ) = 0) and (b[i] > 0) then
writeln('да')
else
writeln('нет');
end.


я написала
но он мне выдает к каждому элементу ответ да или нет
а как сделать чтобы в целом говорил?
я же вам написал фрагмент... вот так он будет выглядеть целиком:

Код:
var b: array [1..20] of integer;
index,i, k: integer;
begin
for i:=1 to 20 do
begin
write ('b[',i,']=');
readln (b[i]);
end;
writeln('введите k');
readln(k);
index:=0;
for i:=1 to 20 do
if (( b[i] mod k ) = 0) and (b[i] > 0) then
begin
index:=1;
break;
end;
if index=1 then
writeln('да')
else
writeln('нет');
end.
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Запись координат в массив в реал тайм, Как записать координаты в массив Dark19 Visual C++ 2 21.06.2011 18:45
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) econ Помощь студентам 1 29.05.2011 22:02
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. TheVenny Помощь студентам 3 26.11.2008 15:06