Составьте и запишите КОМПЬЮТЕРНУЮ программу ** языке программирования Паскаль для решения...

0 голосов
74 просмотров

Составьте и запишите КОМПЬЮТЕРНУЮ программу на языке программирования
Паскаль для решения следующей задачи:
Найти номер (т.е. индекс) третьего положительного элемента массива и вывести их (и элемент и индекс) на экран с соответствующим сообщением. Массив должен состоять не более чем из 10 целых чисел и вводиться с клавиатуры. Диалог с userom!!! Переменные!!!


Информатика (2.7k баллов) | 74 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Var a: array[1..10] of integer;
 i,j,k: integer;
begin
for i:=1 to 10 do
begin
  write('a[',i,'] = ');
  readln(a[i]);
end;
j:=0; k:=0; 
for i:=1 to n do
 begin
 if a[i]>0 then
  begin j:=j+1; if j=3 then k:=i; end;
 end;
if k>0
 then writeln('Третий положительный элемент: a[',k,'] = ',a[k])
 else writeln('В массиве нет трех положительных элементов');
readln;
end.

Пример:
a[1] = -5
a[2] = 8
a[3] = -9
a[4] = 7
a[5] = -3
a[6] = -1
a[7] = 6
a[8] = -3
a[9] = 2
a[10] = 4
Третий положительный элемент: a[7] = 6

(194k баллов)
0

Я вывел 1-й положительный элемент, просто по невнимательности. Естественно для вывода 3-го нуже еще один счетчик, например, k:=0 и который будет увеличиваться на 1 при нахождении последующего положительного элемента. И если к=3, то выводим найденный элемент.

0

И некоторые другие нюансы, которые надо учесть.

0

ОК. Вам дадут возможность исправить свой ответ.

0

Спасибо. Правда я уже видел ваш.:)

0

Я просто абсолютно честно искал первый элемент положительный, так как каким-то чудом я пропустил слово третий и был премного удивлен, увидев ваше решение.

0 голосов

Program Massiv;
{$APPTYPE CONSOLE}
uses  SysUtils;

var  i: integer; // счетчик 
 a: array[1..10] of Integer; // объявляем массив из 10 целых элементов
begin
// Вводим элементы массива с клавиатуры 
for i:=1 to 10 do  // цикл  
begin     
  writeln('vvedite element massiva i nagmite >>ENTER');     
  write('a[',i,']=');     
  write(a[i]);     
  read(a[i])   
end; 
i:=1;
j:=0;// счетчик для поиска 3-го элемента 
  repeat 
    if a[i]<=0    <br>      then
        inc(i) // переходим к следующему элементу        
      else     
        begin       
          inc(j); // отмечаем найденный положительный элемент      
          inc(i)  // переходим к следующему элементу     
        end; 
   until (j=3) or (i=11); // До тех пор пока не найден 3-й положительный элемент
                                  // либо не проверен весь массив
 if j=3   
   then // есть как минимум три положительных элемента  в массиве      
     writeln('3 Pologitelniy element a[',i-1,']=', a[i-1])   
   else // в массиве меньше трех положительных элементов     
     writeln('Net 3 pologitelnogo eltmenta = ');
readln; 
readln
  { TODO -oUser -cConsole Main : Insert code here }
end.

(1.5k баллов)
0

Исправил, но теперь нужно отредактировать текст в том месте, где исправил!:)

0

Все исправил.:)