В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
svilli711
svilli711
05.10.2020 03:40 •  Информатика

Нужна в решении задачи на Delphi. Дана последовательность целых чисел. Длину последовательности задавать с клавиатуры (в Edit через Button выводить в Memo). Числа в последовательности задавать случайным образом из диапазона от 100 до 999. Найти все трехзначные простые числа - число, больше 1, называется простым , если оно не имеет положительных делителей, кроме 1 и самого себя. (Определить функцию, позволяющую распознавать простые числа.)

Показать ответ
Ответ:
FireBOY57
FireBOY57
07.05.2022 01:45

#include<iostream>

#include<cstdlib>

#include<ctime>

#include<conio.h>

using std::cout;

using std::cin;

using std::endl;

bool gameOver;

const int width = 25;

const int height = 25;

int x, y, fruitX, fruitY, score;

int tailX[100], tailY[100];

int nTail;

enum eDirection { STOP = 0, LEFT, RIGHT, UP, DOWN };

eDirection dir;

void Setup() {

gameOver = false;

dir = STOP;

x = width / 2 - 1;

y = height / 2 - 1;

fruitX = rand() % width;

fruitY = rand() % height;

score = 0;

};

void Draw() {

cout << "w = UP" << endl;

cout << "s = DOVN" << endl;

cout << "d = RIGHT" << endl;

cout << "a = LEFT" << endl;

system("cls");//system("clear");

for (int i = 0;i < width + 1;i++) {

 cout << "##";

};

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

 for (int j = 0;j < width;j++) {

  if (j == 0 || j == width - 1) {

   cout << "##";

  };

  if (i == y && j == x) {

   cout << "0";

  }

  else if (i == fruitY && j == fruitX) {

   cout << "F";

  }

  else {

   bool print = false;

   for (int k = 0;k < nTail;k++) {

    if (tailX[k] == j && tailY[k] == i) {

     print = true;

     cout << "o";

    }

   }

   if (!print) {

    cout << " ";

   }

  };

  cout << " ";

 };

 cout << endl;

};

cout << endl;

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

 cout << "#";

};

cout << endl;

cout << "Score: " << score << endl;

};

void Input() {

if (_kbhit()) {

 switch (_getch()) {

 case'a': {

  dir = LEFT;

 }

     break;

 case'd': {

  dir = RIGHT;

 }

     break;

 case'w': {

  dir = UP;

 }

     break;

 case's': {

  dir = DOWN;

 }

     break;

 case'x': {

  gameOver = true;

 }

     break;

 }

};

};

void Logic() {

int prevX = tailX[0];

int prevY = tailY[0];

int prev2X, prev2Y;

tailX[0] = x;

tailY[0] = y;

for (int i = 1;i < nTail;i++) {

 prev2X = tailX[i];

 prev2Y = tailY[i];

 tailX[i] = prevX;

 tailY[i] = prevY;

 prevX = prev2X;

 prevY = prev2Y;

}

switch (dir)

{

case LEFT:

 x--;

 break;

case RIGHT:

 x++;

 break;

case UP:

 y--;

 break;

case DOWN:

 y++;

 break;

}

/*

if (x > width || x < 0 || y>height || y < 0) {

 gameOver = true;

};*/

if (x >= width - 1) {

 x = 0;

}

else if (x < 0) {

 x = width - 2;

}

if (y >= height) {

 y = 0;

}

else if (y < 0) {

 y = height - 1;

}

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

 if (tailX[i] == x && tailY[i] == y) {

  gameOver = true;

 }

}

if (x == fruitX && y == fruitY) {

 score += 10;

 fruitX = rand() % width;

 fruitY = rand() % height;

 nTail++;

}

}

int main() {

srand(time(0));

Setup();

while (!gameOver) {

 Draw();

 Input();

 Logic();

}

return 0;

}

Объяснение:

эта игра работает только в кампиляторе Visual studio или qt creater

0,0(0 оценок)
Ответ:
Ram543
Ram543
29.11.2020 05:53

var

 n,k:integer;

 a:array of integer;

 s,k2:real;

begin

 

 {Ввод размера массива и элементов массива}

 while n<3 do begin

   write('Введите размер массива - '); readln(n);

   if n<3 then writeln('[Массив слишком короткий]');

 end;

 setLength(a,n);

 for var i1:=0 to n-1 do begin

   write('Введите ',i1+1,' элемент массива - '); readln(a[i1]);

 end;

 

 {Вычесление минимальной суммы трёх соседних элементов массива}

 s:=a[0]+a[1]+a[2];

 for var i2:=2 to n-2 do begin

   k:=a[i2-1]+a[i2]+a[i2+1];

   if s>k then s:=k;

 end;

 writeln('Минимальная сумма трёх соседних элементов = ',s);

 

 {Выполнение условия чётности и нечётности}

 k2:=s;

 while k2>=2 do begin

   k2:=k2-2;

 end;

 if k2=0 then s:=sqr(s)

 else s:=sqrt(s);

 write('ответ: ',s:0:3);

 

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота