Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Массив и элементы!

Автор: Вернант 20.02.2003 23:18

Задан массив B из 15 элементов целого типа.Посчитать количество четных элементов
массива.

Автор: AlaRic 20.02.2003 23:39

Код
program forum;
uses wincrt;
const n=15;
type a=array[1..n] of integer;
var b:a;
i:word;
count:integer;
begin
count:=0;
writeln('ввести массив');
for i:=1 to n do read(b[i]);
for i:=1 to n do
if (b[i] mod 2=0) then count:=count+1;
writeln('кол-во',count);
end.

Автор: Gid 21.02.2003 8:28

Зафиг у тебя i типа word

Код
const n=15;
type
 mass:array[1..n]of integer;
var
i,s:integer;
mas:mass;
begin
writeln('Введите символы массива  ');
for i:=1 to n do read(mas[i]);
s:=0;
for i:=1 to n do if mas[i] mod 2=0 then s:=s+1;
writeln('Чётных чисел-  ',s);
end.

Автор: AlaRic 21.02.2003 20:10

Цитата
Зафиг у тебя i типа word!
Можно вообще byte поставить - всего 15 элементов!

Автор: Gid 22.02.2003 8:28

Ну ладно... Тогда зафиг у тебя так много переменных?

Автор: AlaRic 22.02.2003 12:14

Тебе не угодишь smile.gif  Массив делаю через тип, так как препод говорит, что так лучше, а count-счетчик!

Автор: Gid 23.02.2003 8:43

А чё такое unit wincrt? Это типа crt для windows?

Автор: AlaRic 23.02.2003 11:47

Точно...а что?

Автор: Gid 24.02.2003 8:19

Да я просто не знал, что это за фигня, но по названию догадался! 8)

Автор: dark0ut 24.02.2003 11:19

Цитата
Да я просто не знал, что это за фигня, но по названию догадался! 8)

молодец!

Автор: ___ALex___ 24.02.2003 14:11

Gid
молодей хрюндель теперь можешь взять с полки пряник !

Автор: ___ALex___ 24.02.2003 14:14

Код
program forum;
const n=15;
type a=array[1..n] of integer;
var b:a;
i, count:Byte;
begin
writeln('ввести массив');
for i:=1 to n do begin
read(b[i]);
if (b[i] mod 2=0) then count:=count+1;
end;
writeln('кол-во',count);
ReadLn
end.


вот так лучше ;)

Автор: Clane 24.02.2003 16:44

Прям решения на любой вкус.... Мне чтоли свое запостить для полного счастия... ;D ;D ;D

Автор: ___ALex___ 24.02.2003 17:38

Код
program forum;  
var
x: Integer;  
i, count:Byte;  
begin  
writeln('ввести массив');  
for i:=1 to n do begin
read(x);  
if x mod 2 = 0 then Inc(count);  
end;
writeln('кол-во',count);  
ReadLn
end.

так куда лучше чем все предыдущие

Автор: ___ALex___ 24.02.2003 17:41

Код
program forum;  
var
x: Integer;  
i, count:Byte;  
begin  
writeln('ввести массив');  
for i:=1 to 15 do begin
read(x);  
if x mod 2 = 0 then Inc(count);  
end;  
writeln('кол-во',count);  
ReadLn  
end.

PS по жизни чё нить забудешь

Автор: AlaRic 24.02.2003 20:38

Код
program forum;
type mini=0..15;  
var  
x: Integer;    
i, count:mini;
begin    
writeln('ввести массив');    
for i:=1 to 15 do begin
read(x);    
if x mod 2 = 0 then Inc(count);    
end;  
writeln('кол-во',count);    
ReadLn  
end.


PS Integer для факториала хиловат.

Автор: bonnyka 1.03.2003 20:09

Цитата
Тебе не угодишь smile.gif  Массив делаю через тип, так как препод говорит, что так лучше, а count-счетчик!

если я не ошибаюсь массив делают через тип для того, чтобы потом можно было его использовать в функциях и процедурах, так или не так? smile.gif

Автор: Clane 1.03.2003 21:23

Не понял  ??

Автор: AlaRic 1.03.2003 23:05

Цитата
если я не ошибаюсь массив делают через тип для того, чтобы потом можно было его использовать в функциях и процедурах, так или не так? smile.gif

Необязательно. Тип также делают для работы с несколькими массивами.Например:
type A=array[1..5] of integer;
A1=array[1..4] of A;
var B,C:A;
D:A1;
PS Хотя мне кажется, что наш препод(директор) немного не в себе!

Автор: ___ALex___ 1.03.2003 23:06

причём здесь процедуры и ф-ции
тип объявляют для того чтобы потом каждый раз одно и тоже не писать и в некоторых других случаях
удобно это

Автор: Ivs 2.03.2003 2:43

Цитата
Необязательно. Тип также делают для работы с несколькими массивами.Например:
type A=array[1..5] of integer;
A1=array[1..4] of A;
var B,C:A;
D:A1;
PS Хотя мне кажется, что наш препод(директор) немного не в себе!


Это у тебя получается обычный двумерный массив, тоже самое что a1: array[1..4,1..5] of integer;
массивы нужно объявлять в тип для того чтобы они правильно передовались в процедуры и функции,
так что согласен с  bonnyka.