IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> вопрос по массивам
amebka
сообщение 14.03.2006 17:13
Сообщение #21


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Женский
Реальное имя: Анна

Репутация: -  0  +


Хорошо...
 const n_max=100;
var
i,k,s,n:integer;
a:array[1..n_max] of integer;
begin
readln(n);
for i:=1 to n do
readln(a[i]);
i:=1; s:=0;
for i:=1 to n do
begin
k:=0;
k:=a[i] mod 2;
if k=0 then s:=s+a[i]
else k:=a[i] mod 3;
if k=0 then s:=s+a[i]
else k:=a[i] mod 5;
if k=0 then s:=s+a[i]
else k:=a[i] mod 7;
if k=0 then s:=s+a[i];
end;
writeln (s);
end.

Ввожу n=5
дальше ввожу числа 1, 2, 3, 4, 5... ответ получается 43 wink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 14.03.2006 17:14
Сообщение #22


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Проверка:
Код
if (a[i] mod 2=0) or (a[i] mod 3=0) or (a[i] mod 5=0) or (a[i] mod 7=0) then  
  s:=s+a[i];

То есть, если число нацело делится хотя бы на одно из чисел 2,3,5 или 7, оно уже составное.

Наврал wub.gif

Счас проверю, исправлю

Сообщение отредактировано: Ozzя - 14.03.2006 17:19
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
amebka
сообщение 14.03.2006 17:18
Сообщение #23


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Женский
Реальное имя: Анна

Репутация: -  0  +


Да)) это работает... осталось только сделать ограничения, что само a(i) не должно быть равно 2, 3, 5 и 7 ))) lol.gif Спасибо)))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.03.2006 17:24
Сообщение #24


Гость






Цитата
осталось только сделать ограничения
yes2.gif
const n_max=100;
var
i,k,s,n:integer;
num: integer;
a:array[1..n_max] of integer;

begin
readln(n);

s := 0;
for i := 1 to n do begin

readln(a[i]);
if (a[i] mod 2 = 0) and (a[i] > 2) then s := s + a[i]
else
if (a[i] mod 3 = 0) and (a[i] > 3) then s := s + a[i]
else
if (a[i] mod 5 = 0) and (a[i] > 5) then s := s + a[i]
else
if (a[i] mod 7 = 0) and (a[i] > 7) then s := s + a[i];

end;


writeln (s);
end.
 К началу страницы 
+ Ответить 
Ozzя
сообщение 14.03.2006 17:31
Сообщение #25


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Const
n=5;
var
k,i,s : Integer;
p: boolean;
a: array [1..N] of Integer;

begin
for i:=1 to N do
readln(a[i]);
s:=0;
for i:=1 to N do
begin
{ Проверка }
p:=true;
k:=2;
while p and (sqr(k)<=n) do
if a[i] mod k=0 then
p:=false
else
k:=k+1;
{ Подсчет суммы }
if p then
s:=s+a[i];
end;
Writeln('Summa = ',s);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
amebka
сообщение 14.03.2006 17:32
Сообщение #26


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Женский
Реальное имя: Анна

Репутация: -  0  +


Все))) заработало))))))))
Огромное всем спасибо))))

Код
num: integer;
- а это что???

и еще надо букву k убрать из начала...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 14.03.2006 17:33
Сообщение #27


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


give_rose.gif

Уфф, ура good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
amebka
сообщение 14.03.2006 17:35
Сообщение #28


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Женский
Реальное имя: Анна

Репутация: -  0  +


Цитата(Ozzя @ 14.03.2006 17:31) *

Const
n=5;
var
k,i,s : Integer;
p: boolean;
a: array [1..N] of Integer;

begin
for i:=1 to N do
readln(a[i]);
s:=0;
for i:=1 to N do
begin
{ Проверка }
p:=true;
k:=2;
while p and (sqr(k)<=n) do
if a[i] mod k=0 then
p:=false
else
k:=k+1;
{ Подсчет суммы }
if p then
s:=s+a[i];
end;
Writeln('Summa = ',s);
end.


при вводе 1, 2, 3, 4, 5 выдает 9... а должна выдать 4...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 14.03.2006 17:39
Сообщение #29


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Цитата
if not p then


А 1 и 2 - это простые числа?
Еще и их надо отслеживать
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
amebka
сообщение 14.03.2006 17:43
Сообщение #30


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Женский
Реальное имя: Анна

Репутация: -  0  +


Цитата(Ozzя @ 14.03.2006 17:39) *

А 1 и 2 - это простые числа?
Еще и их надо отслеживать

2 надо... а 1 нет - на него мы не делим...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 14.03.2006 17:46
Сообщение #31


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Const
n=5;
var
k,i,s : Integer;
p: boolean;
a: array [1..N] of Integer;

begin
for i:=1 to N do
readln(a[i]);
s:=0;
for i:=1 to N do
begin
{ Проверка }
p:=true;
k:=2;
while p and (sqr(k)<=n) do
begin
if (a[i] = 1) or (a[i] = 2) then
break;
if a[i] mod k=0 then
p:=false
else
k:=k+1;
end;
{ суммирование }
if not p then
s:=s+a[i];
end;
Writeln('Summa = ',s);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
amebka
сообщение 14.03.2006 17:49
Сообщение #32


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Женский
Реальное имя: Анна

Репутация: -  0  +


Вот три рабочие программы:
 const n_max=100;
var
i,s,n:integer;
a:array[1..n_max] of integer;

begin
writeln ('Razmer massiva raven ');
readln(n);

s := 0;
writeln ('Elementy massiva:');

for i := 1 to n do begin

readln(a[i]);
if (a[i] mod 2 = 0) and (a[i] <> 2) then s := s + a[i]
else
if (a[i] mod 3 = 0) and (a[i] <> 3) then s := s + a[i]
else
if (a[i] mod 5 = 0) and (a[i] <> 5) then s := s + a[i]
else
if (a[i] mod 7 = 0) and (a[i] <> 7) then s := s + a[i];

end;


writeln ('Summa = ', s);
end.

и
 Const
n=5;
var
i,s : Integer;
a: array [1..N] of Integer;

function isNotPrime(X: word): boolean;
var i: integer;
Begin
isNotPrime:=true;
for i:=2 to trunc(sqrt(x)) do
if x mod i = 0 then Exit;
isNotPrime:=false
End;

begin
for i:=1 to N do
readln(a[i]);
s:=0;
for i:=1 to N do
if isNotPrime(a[i]) then
s:=s+a[i];
Writeln('Summa = ',s);
end.


и
Const
n=5;
var
k,i,s : Integer;
p: boolean;
a: array [1..N] of Integer;

begin
for i:=1 to N do
readln(a[i]);
s:=0;
for i:=1 to N do
begin
{ Проверка }
p:=true;
k:=2;
while p and (sqr(k)<=n) do
begin
if (a[i] = 1) or (a[i] = 2) then
break;
if a[i] mod k=0 then
p:=false
else
k:=k+1;
end;
{ суммирование }
if not p then
s:=s+a[i];
end;
Writeln('Summa = ',s);
end.

(Во второй и третьей массив состоит из 5 элементов, а в первой размер массива надо вводить...)

Спасибо большое всем за помощь и поддержку... give_rose.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 14.03.2006 17:49
Сообщение #33


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Шампанское в студию! give_rose.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
amebka
сообщение 14.03.2006 17:53
Сообщение #34


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Женский
Реальное имя: Анна

Репутация: -  0  +


Цитата(Ozzя @ 14.03.2006 17:49) *

Шампанское в студию! give_rose.gif

Отдельное спасибо smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V < 1 2
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 5:36
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"