Помощь - Поиск - Пользователи - Календарь
Полная версия: 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.

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