Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2014, 12:24   #1
Rodik11
 
Регистрация: 13.03.2014
Сообщений: 6
По умолчанию Добрый день. Помогите доделать задачу

Дан одномерный массив Хк. Найти последний среди элементов с нечетными значениями. Все от-рицательные элементы массива удалить. В конец массива дописать количество нулевых элементов - вот это условие не знаю как выполнить, сказали надо добавить строку k+1=z, а вот куда не знаю ...
Код:
program Project3;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  windows,
  Math;



var
  x:array [1..10] of real;
  Kfind,i,K,Kx,z:integer;


begin
setconsolecp(1251);
setconsoleOutputcp(1251);
write('K=');
readln (K);

For i:=1 to K  do begin
write('x(',i,')=');
readln(x[i]);
end;
i:=K;
while (i>0) and (trunc( x[i]) mod 2=0) do
dec(i);
Kfind:=i;

If Kfind=0 then writeln('элемент не найден')
else begin
writeln ('Вывод =',x[Kfind]);

Kx:=0;
z:=0;
For i:=1 to K do
if not (x[i]<0)
then begin
Kx:=Kx+1;
x[Kx]:=x[i];
end;
K:=Kx;
if K=0 then
writeln('нет')
else {Вывод массива}
For i:=1 to K  do begin
write(x[i]);
For i:=1 to K do
if x[i]=0 then
z:=z+1;
writeln ('количество 0 элементов',z)
else
For i:=1 to K  do begin
z:=k+1;
write(x[i]);
 {Вывод массива}
write(x[i]);
  { TODO -oUser -cConsole Main : Insert code here }
end;
end.

Последний раз редактировалось Stilet; 30.05.2014 в 12:35.
Rodik11 вне форума Ответить с цитированием
Старый 31.05.2014, 15:58   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,602
По умолчанию

Не помню, могут ли отрицательные числа быть четными/нечетными. Если могут, то
в этом условии
Код:
 if (arr[i]>0) and (odd(arr[i])) then
уберите первое условие.

Код:

const
  n = 10;
var
  arr: array[1..n] of integer;
  last,i, j, m: integer;
begin
  randomize;
  for i := 1 to n do
    begin
      arr[i] := random(50)-25;
      write(arr[i]:4);
    end;
  for i := 1 to n do
    begin
      if (arr[i]>0) and (odd(arr[i])) then
        last:=arr[i];
    end;
  writeln();
  if last<>0 then
    writeln('Последний из нечетных элементов = ',last)
  else
    writeln('Нечетных элементов нет.');
  m := n;
  i := 1;
  while i <= m do
    if arr[i] < 0 then
      begin
        for j := i to m - 1 do
          arr[j] := arr[j+1];
        m := m - 1
      end
    else
      i := i + 1;
  for i:= m+1 to n do
    arr[i]:=0;
  for i:= 1 to n do
    write(arr[i]:4);
  readln;
end.
Изображения
Тип файла: jpg 2014-05-31 15-59-27 Free Pascal IDE.jpg (48.1 Кб, 127 просмотров)

Последний раз редактировалось ZX Spectrum-128; 31.05.2014 в 16:01.
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добрый день. Получил давольно интересную задачу по захвата 3d сцен из opengl. PRoRocK9 Помощь студентам 3 01.04.2012 17:10
ДОбрый вечер, ночь. Помогите решить задачу на си плиззз Pavelhr Общие вопросы C/C++ 6 12.12.2009 02:10
Добрый день! РЕбят помогите плиззз.... Mikki556 Microsoft Office Excel 15 20.03.2009 15:17