//PascalABC (версия 3.4.2, сборка 1889 от 04.12.2018)
uses Arrays;
begin
var S := CreateRandomIntegerArray(10,4,33);
writeln('Массив: ', S);
writeln('Индексы массива начинаются с 0!');
writeln('Минимальный элемент: ', S.Min, '. Индекс: ', S.IndexOf(S.Min));
writeln('Максимальный элемент: ', S.Max, '. Индекс: ', S.IndexOf(S.Max));
end.
1 - d
2 - d
3 - a
4 - b
4-е спорное, в каждой кодировке символ занимает разное кол-во байт, но будем считать, что здесь 161 байт.
<em>// PascalABC.NET 3.3, сборка 1579 от 18.11.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
Writeln('Введите начальную скорость снаряда, расстояние до стены, высоту стены');
var (v,S,h):=ReadReal3;
var A:=ReadReal('Введите угол наклона ствола пушки');
if v<=0 then begin
Writeln('Скорость должна быть положительной');
Exit
end;
if v>1000 then begin
Writeln('Скорость слишком велика');
Exit
end;
if S<=0 then begin
Writeln('Расстояние должно быть положительным');
Exit
end;
if h<=0 then begin
Writeln('Высота стены должна быть положительной');
Exit
end;
if A<=0 then begin
Writeln('Пушка не должна стрелять в землю');
Exit
end;
if A>=pi/2 then begin
Writeln('Пушка направлена не в сторону стены');
Exit
end;
var L:=S*Tan(A)-9.81*S/(2*v*v*Sqr(Cos(A)));
if L>h then begin
Writeln('Снаряд не попал в стену...');
Exit
end;
if L<0 then Writeln('Снаряд не попал в стену...')
else Writeln('Попал!!!')
end.
<u>Пример</u>
Введите начальную скорость снаряда, расстояние до стены, высоту стены
300 500 8.5
Введите угол наклона ствола пушки 0.2
Снаряд не попал в стену...
#include <iostream>
#include <string>
#include <cstdlib>
#include <algorithm>
using namespace std;
typedef unsigned short int USI;
int* fillArray(string name, int s);
int maxArray(int[], int s);
bool isPrime(int);
void deleteAllEqualTo(int[], int s, int value);
float averageOfPositive(int[], int s);
void printArray(int[], int s);
bool sortByDescAbs(int i, int j) {
return abs(i) > abs(j);
}
int main() {
setlocale(LC_ALL, "Russian");
USI n;
cout << "n = ";
cin >> n;
int* z = fillArray("z", n);
int max = maxArray(z, n);
if ( isPrime(max) ) {
deleteAllEqualTo(z, n, max);
}
float avg = averageOfPositive(z, n);
cout << "среднее: " << avg << '\n';
sort(z, z + n, sortByDescAbs);
cout << "z[" << n << "]: ";
printArray(z, n);
return 0;
}
int* fillArray(string name, int s) {
int array[s];
for (int i = 0; i < s; i++) {
cout << name << "[" << i << "] = ";
cin >> array[i];
}
return array;
}
int maxArray(int a[], int s) {
int max = a[0];
for (int i = 1; i < s; i++) {
if (a[i] > max) max = a[i];
}
return max;
}
bool isPrime(int n) {
if (n < 2) return false;
if (n == 2) return true;
if (n % 2 == 0) return false;
for (int i = 3; (i*i) <= n; i += 2) {
if (n % i == 0 ) return false;
}
return true;
}
void deleteAllEqualTo(int a[], int s, int value) {
for (int i = 0; i < s; i++) {
if (a[i] == value) a[i] = 0;
}
}
float averageOfPositive(int a[], int s) {
unsigned int sum = 0,
count = 0;
for (int i = 0; i < s; i++) {
if (a[i] > 0) {
sum += a[i];
count++;
}
}
return (sum / count);
}
void printArray(int a[], int s) {
for (int i = 0; i < s; i++) {
cout << a[i] << ' ';
}
}