Задача 1:
using System;
using System.Linq;
namespace ConsoleApp1
{
internal class Program
{
private static void Main(string[] args)
{
Console.Write("Enter n: ");
int n = int.Parse(Console.ReadLine());
var x = new int[n];
var rand = new Random();
for (int i = 0; i < n; i++)
{
x[i] = rand.Next(-100, 100);
Console.WriteLine($"x[{i}] = {x[i]}");
}
int max = x.Max();
int index = Array.IndexOf(x, max);
for (int i = 0; i < index; i++)
{
if (x[i] < 0)
x[i] = 0;
}
Console.WriteLine("\nResult:");
for (int i = 0; i < n; i++)
Console.WriteLine($"x[{i}] = {x[i]}");
}
}
}
Задача 2:
using System;
using System.Linq;
namespace ConsoleApp2
{
internal class Program
{
private static void Main(string[] args)
{
Console.Write("Enter n: ");
int n = int.Parse(Console.ReadLine());
var a = new int[n];
var rand = new Random();
for (int i = 0; i < n; i++)
{
a[i] = rand.Next(-100, 100);
Console.WriteLine($"x[{i}] = {a[i]}");
}
int[] positiveItems = a.Where(t => t > 0).ToArray();
if (positiveItems.Length == 0)
{
Console.WriteLine("No positive numbers");
return;
}
int sum = positiveItems.Sum();
int product = positiveItems.Aggregate((x, y) => x * y);
double arithmeticMean = sum / (double)positiveItems.Length;
double geometricMean = Math.Pow(product, 1 / (double)positiveItems.Length);
Console.WriteLine($"\nArithmetic mean: {arithmeticMean}");
Console.WriteLine($"Geometric mean: {geometricMean}");
}
}
}
for
примеры
(Pascal)
for i := 1 to 10 do
s:=s+1;
(C#,C++)
for (int i=0;i<10;i++) {
s+=i;
}
(Ruby)
for i in 1..10
s=s+i
end
(VB, VBA, Basic,..)
for i = 1 to 10
s=s+i
next i
По умлчанию шагом счетчика является 1. Обычно шаг счетчика можно менять фразой by или step by. Хотя увы такое есть не во всех языках
(C#,C++)
for (int i=0;i<10;i=i+2) {
s+=i;
}
(VB, VBA, Basic,..)
for i = 1 to 10 step by 2
s=s+i
next i
Например в паскале возможен только обратный отсчет
for i := 10 downto 1 do
s:=s+1;
еще for примечателен тем, что даже если конец меньше начала (в варианте увеличения счета), то цикл все равно пройдет один раз. Правда не знаю подпадают ли под это правило языки из группы С
2)111*11=10101.0000
3) 1101*101=1000001.0000
4) 1101*1000=1101000.0000
p.s Могу ошибаться!