М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
14569867
14569867
09.05.2020 09:56 •  Информатика

Сделайте блок-схему по среди 3 введенных чисел посчитать количество положительных

👇
Ответ:
Sapff1ra
Sapff1ra
09.05.2020
Var
a,s,k:integer;
p : longint;
begin
k := 0;
s := 0;
p := 1;
repeat
write('введите число: ');
readln(a);
if a < 0 then
begin
inc(k);
p := p * a
end;
if a > 0 then s := s + a
until a = 0;
writeln('сумма положительных: ', s);
if k = 0 then writeln('отрицательных чисел нет')
else writeln('произведение отрицательных: ', p);
readln
end.
4,6(68 оценок)
Открыть все ответы
Ответ:
allonso
allonso
09.05.2020
1. В "реальном мире" это решается примерно так:

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
  var a:=ArrRandom(ReadInteger('n='),0,2); a.Println;
  a.Sorted.Println
end.

Тестовое решение:
n= 15
1 2 0 2 2 0 2 0 2 0 0 1 0 0 2
0 0 0 0 0 0 0 1 1 2 2 2 2 2 2

2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
const
  nn=100;
var
  i,j,n,t:integer;
  a:array[1..nn] of integer;
begin
  Write('n='); Read(n);
  Randomize;
  for i:=1 to n do begin
    a[i]:=Random(3);
    Write(a[i],' ')
    end;
  Writeln;
  for i:=1 to n-1 do
    for j:=1 to n-1 do
      if a[j]>a[j+1] then begin
        t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t
        end;
  for i:=1 to n do Write(a[i],' ');
  Writeln;
end.

Тестовое решение:
n=15
0 1 1 0 2 1 0 2 1 2 1 0 0 2 0
0 0 0 0 0 0 1 1 1 1 1 2 2 2 2
4,5(50 оценок)
Ответ:
znani5
znani5
09.05.2020

Відповідь:

#include <iostream>

#include <cstdlib>

#include <time.h>

using namespace std;

void randarr(int *arr,int size){

for(int i = 0; i < size; i++){

 arr[i] = rand() % 20 + 0;

}

}

void printarr(int *arr,int size){

for(int i = 0; i < size; i++){

 cout << arr[i] << " ";

}

}

bool check(int x){

if(x < 0 && x > 20){

 return false;

}

return true;

}

void counterx(int *arr,int size,int x){

int counter = 0;

for(int i = 0; i < size; i++){

 if(arr[i] == x){

  counter++;

  cout << "\nЭлемент под индексом " << i << " равен x";

 }

}

cout << "\nВсего елементов равных x: " << counter << endl;

}

int main(){

srand(time(NULL));

setlocale(LC_ALL, "Rus");

int size,x;

cout << "Введите размер массива: ";

cin >> size;

cout << "Введите x(0 - 20): ";

cin >> x;

if(check(x) == false){

 cout << "X должен входить в диапазон от 0 до 20..." << endl;

 return 1;

}

int *arr = new int[size];

randarr(arr,size);

cout << "Массив: ";

printarr(arr,size);

counterx(arr,size,x);

delete[] arr;

return 0;

}

4,6(10 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ