Помощь - Поиск - Пользователи - Календарь
Полная версия: 2-задачи.....у кого какие мысли?
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Geroi
3. Задан массив A из 100 чисел. Описать функцию для определения количества нечетных чисел среди N первых его элементов. В качестве параметров взять A и N. Если нечетных нет, то результат функции - число 7777777.
4. Задан двумерный целочисленный массив G размером 10 на 10 элементов. Написать процедуру для определения числа тех строк массива, которые не содержат чисел из первой строки.
Может кто сталкивался...............может соображение какие по поводу решения...... или пример есть аналогичных задач..
Зарание спасибо !
AlaRic
В первой проге просто воспользуешься функцией odd.....
Ivs
Это не ответ, это вопрос к ЭКСПЕРТАМ:

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

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
Цитата
Да, и еще возможно ли в TPascal передовать двухмерный массив в процедуру (по-моему нет).
В виндовом пасе этот трюк вроде прошел...
Ivs
Вот вторая, но без процедуры

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.

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.