Помгите пожалуйста! Найдите ошибки, а то он всякую чепуху считает. Заранее большое спасибоИспользуя команду ветвления составить программу, которая опре

1 Январь 0001



Помгите пожалуйста! Найдите ошибки, а то он всякую чепуху считает.Заранее большое спасибо))))

Используя команду ветвления составить программу, которая определяет, сколько чисел из К являются  нечетными.

Program mass;

uses crt;

var i,k:integer;  

a:array[1..100] of integer;  

begin  ClrScr;  

k:=0;  

randomize;

 for i:=1 to 10 do  begin  



a[i]:=random(10)-5;  write( a[i]:3);

 if a[i] mod 2=1  then

k:=k+1;

 end;  



writeln ( ‘Кол-во нечетных чисел из K ‘,k);  

readln;  

end.

  • Ошибка всего одна, для исправления нужно заменить: if a[i] mod 2=1  then  на  if abs(a[i]) mod 2=1  then .

  • 1) “сколько чисел из К являются  нечетными” – я так понимаю, эта фраза значит, что програма должна получить значение К, получить К чисел, и тогда посчитать количество нечетных чисел среди этих К чисел.

    Если я прав, тогда нужно добавить ввод К.

    2) строка if проверяет на нечетность только положительные числа, нужно добавить функцию abs

    3) добавить строку writeln() без параметров, чтобы вывод информации “‘Кол-во нечетных чисел из K” начинался с новой строки.

     

    Ниже жирным выделено то, что нужно добавить, подчёркнуто то, что нужно удалить:

    (переменная к – количество всех чисел, которые мы проверяем, kwo – количество нечётных чисел из к чисел):



     

    Program mass;
    uses crt;
    var i,k,kwo:integer;  
      a:array[1..100] of integer;  
    begin
      ClrScr;  
      k:=0;  

      kwo:=0; 
      write (‘Введите К ‘);readln(k);

      randomize;
      for i:=1 to k 10   do begin  
        a[i]:=random(10)-5;  write( a[i]:3);
        if abs(a[i]) mod 2=1  then
        kwo:=kwo+1;

        k:=k+1;
     end;  
    writeln ( ‘Кол-во нечетных чисел из K ‘,k  kwo);  
    readln;  
    end.









Информатика

Комментарии закрыты.