// PascalABC.NET 3.2, сборка 1362 от 14.12.2016 // Внимание! Если программа не работает, обновите версию!
const n=34; begin // 1 var R:=ArrRandom(n,-8,8); R.Println; // 2 var b:=R.Slice(Trunc(0.75*n)-1,3); Writeln('Ср.гармоническое= ',b.Count/b.Aggregate(0.0,(x,y)->x+1.0/y)); // 3 var m:=R.Batch(n div 3).ToArray[1].Where(x->x.IsEven).MinBy(x->abs(x)); Writeln('Минимальный по модулю= ',m); // 4 var R2:=R.Select((x,i)->(x,i)).Batch(n div 2).ToArray; var r21:=R2[0].Where(x->x[0]<0).OrderBy(x->sqr(x[0])); var ind:=r21+R2[1].Where(x->x[0]<0).OrderBy(x->sqr(x[0])).ToArray; var ind1:=ind.UnZipTuple; var aVal:=ind1[0].ToArray; var aInd:=ind1[1].Sorted.ToArray; for var i:=0 to aVal.Count-1 do R[aInd[i]]:=aVal[i]; R.Println end.
using namespace std;
typedef unsigned short int USI;
int main() {
/* инициализация */
USI n;
cout << "Количество учеников: ";
cin >> n;
USI a[n], g[n], f[n];
/* заполнение массивов */
size_t i;
for(i = 0; i < n; i++) {
cout << "Оценки ученика "
<< (i+1) << ":\n\n";
cout << "Алгебра: ";
cin >> a[i];
cout << "Геометрия: ";
cin >> g[i];
cout << "Физика: ";
cin >> f[i];
cout << "\n\n\n";
}
cout << "\n\nРЕЗУЛЬТАТЫ\n\n\n";
/* Средняя оценка по алгебре */
USI sum = 0;
for(i = 0; i < n; i++) {
sum += a[i];
}
cout << "Средняя оценка по алгебре: "
<< (sum/n) << '\n';
/* Количество учеников без двоек */
USI notwo = 0;
for(i = 0; i < n; i++) {
if ( (a[i] <= 2)
|| (g[i] <= 2)
|| (f[i] <= 2)
) {
continue;
}
else {
notwo++;
}
}
cout << "Учеников без двоек: "
<< notwo << '\n';
return 0;
}