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

 

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