uses
SysUtils;
label less;
label greater;
label ennnd;
var k: real;
n: byte;
min: byte;
max: byte;
i: byte;
digit: byte;
Function Interval(digit, min, max: byte):byte;
label ennnd;
label greater;
label less;
var res: byte;
begin
asm
mov res,0;
mov al,digit; //приравниваю al=digit
cmp al,min; //сравниваю с минимальной границей
ja greater; //если больше, то переходим
jna ennnd; //если нет, то на выход
greater:
cmp al,max; //сравниваю с максимальной границей
ja ennnd; //если нет, то на выход
mov res,1; //если меньше, то попадает в интервал, то рес = 1
ennnd:
end;
Interval:=res;
end;
begin
writeln('Number of digit?: ');
readln(n);
writeln('Min digit?: ');
readln(min);
writeln('Max digit: ');
readln(max);
for i:= 0 to n-1 do
begin
writeln('Digit? ');
readln(digit);
writeln(Interval(digit,min,max));
if (Interval(digit,min,max) > 0) then
writeln('In Interval')
else
writeln('Not In Interval');
end;
readln(k);
end.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void ent(int *arrayName, int arraySize)
{
int i;
for (int i = 0; i < arraySize; i++)
{
printf("a[%i] = ", i);
scanf("%i", &arrayName[i]);
}
}
void proc(int *arrayName, int arraySize) {
int i,k = 0, max = 0;
int flag = 0;
for (i = 0; i < arraySize; ++i)
{
if ((sqrt(arrayName[i])) == (round((sqrt(arrayName[i])))))
{
printf("%d - full square \n", arrayName[i]);
k++;
}
else k = 0;
if (k>max)
max = k;
}
printf("Max otrezok = %d \n", max);
}
void printArray(int *arrayName, int arraySize) {
int i;
for (i = 0; i < arraySize; ++i) {
printf("%d ", arrayName[i]);
}
}
void main()
{ int i;
int n;//
int squar = 0;
printf("Size Massive: ");
scanf("%d", &n);
int Arr[n];
ent(Arr, n);
printf("Array: ");
printArray(Arr, n);
printf("\n");
proc(Arr,n);
system("pause");
}