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

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

Форум «Всё о Паскале» _ Задачи _ 2-задачи.....у кого какие мысли?

Автор: Geroi 7.01.2003 0:17

3. Задан массив A из 100 чисел. Описать функцию для определения количества нечетных чисел среди N первых его элементов. В качестве параметров взять A и N. Если нечетных нет, то результат функции - число 7777777.
4. Задан двумерный целочисленный массив G размером 10 на 10 элементов. Написать процедуру для определения числа тех строк массива, которые не содержат чисел из первой строки.
Может кто сталкивался...............может соображение какие по поводу решения...... или пример есть аналогичных задач..
Зарание спасибо !

Автор: AlaRic 7.01.2003 1:28

В первой проге просто воспользуешься функцией odd.....

Автор: Ivs 7.01.2003 19:45

Это не ответ, это вопрос к ЭКСПЕРТАМ:

Я написАл первую программу с функцией, но она выдает неправильный результат, НО что удивительно таже самая программа, но написанная без функции работает правильно, В ЧЕМ ГЛЮК???
Это глюк Паскаля или мой???


uses crt;

var
a:array[1..100] of integer;
i,n:integer;

function Nech(b:array of integer; m:integer):word;
var
k,j:integer;
begin
k:=0;
j:=0;
for j:=1 to m do
begin
if b[j] mod 2<>0 then k:=k+1;
end;
if k=0 then Nech:=7777 else Nech:=k;
end;

begin
ClrScr;
Randomize;
for i:=1 to 100 do
begin
a[i]:=random(9)+1;
write(a[i]:2);
end;
writeln;
write('Input n -> ');readln(n);
writeln('Output -> ',Nech(a,n));
readln;
end.



Да, и еще возможно ли в TPascal передовать двухмерный массив в процедуру (по-моему нет).

Автор: AlaRic 7.01.2003 20:49

Цитата
Да, и еще возможно ли в TPascal передовать двухмерный массив в процедуру (по-моему нет).
В виндовом пасе этот трюк вроде прошел...

Автор: Ivs 7.01.2003 20:57

Вот вторая, но без процедуры


uses crt;
const n=5;{ Размерность массива }
var
a:array[1..n,1..n] of integer;
q:array[1..n] of integer;
i,j,k,y,t:integer;
b:boolean;
begin
ClrScr;
Randomize;
{=== Заполняем массив ===}
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(99)+1;
write(a[i,j]:4);
end;
writeln;
end;
{--------- Begin --------}
k:=0;t:=1;
for i:=2 to n do
begin
b:=true;
for j:=1 to n do
begin
for y:=1 to n do
if a[i,j]=a[1,y] then
begin
b:=false;
break;
end;
end;
if b then
begin
k:=k+1;
q[t]:=i;
t:=t+1;
end;
end;
{---------- End ---------}
writeln('Таких строк: ',k);
write('Вот их номера: ');for i:=1 to t-1 do write(q[i],' ');
readln;
end.