Задача 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}");
}
}
}
Поделитесь своими знаниями, ответьте на вопрос:
Дана задача турбо паскаля с несколькими ошибками, нужно исправить ошибки чтобы программа работала. const m_ref=2; {программа для вывода библиографических ссылок.} type select = ( book, magazine); { тип, задающий две альтернативы} entry = record { фиксированная часть} author, title, page : string[100]; year : 1..2200; case tag: select of {вариантная часть} book : (publisher, city:string[50]); page :(1..10000); magazine : (magazine_name:string[100]); valume, issue:byte; page_low, page_up:(1..10000); ref_list = array[1..m_ref] of entry; var x : ref_list; procedure ReadRef(var rf:ref_list); {процедура ввода данных} begin with rf[1] do begin tag := book; author :='Ахо А., Хопкрофт Дж., Ульман Дж.'; title:='Структуры данных и алгоритмы'; year:=2000; page:=382; pablisher :='Вильямс'; city := 'M.:'; end; with rf[2] do begin tag := magazine; author :='Bayer R.S., Moore J.S.'; title:='A fast string searching algorithm'; year:=1977; mag_name:='Communication ACM'; valume := 20; issue := 10; page_low :=762; page_up :=772; end; end; procedure WriteRef(rf:ref_list); { процедура вывода} var I: integer; begin for I:= 1 to m_ref do with rf[I] do begin writeln(I:2, auther, ' ', title, '.'); if rf[I].tag = book then writeln('_', city, publisher, '.', year, '.', page, 'c.') else writeln('_', mag_name, ', ', volume, ', N', issue, ', (', year, '), ', page_low, '_', page_up) end end; Begin { основная программа} ReadRef(x); WriteRef(x); readln end end End.
using System;
namespace ConsoleApp
{
internal class Program
{
private static void Main()
{
Console.Write("n = ");
int n = int.Parse(Console.ReadLine());
Console.Write("t = ");
int t = int.Parse(Console.ReadLine());
int counter = 0;
// цикл по всем натуральным числам, меньших n
for (int i = 1; i < n; ++i)
{
int sum = GetDigitsSum(i); // получаем сумму цифр
int sqSum = sum * sum; // вычисляем квадрат этой суммы
if (sqSum == t)
{
counter++;
Console.WriteLine(i);
}
}
if (counter == 0)
Console.WriteLine("Nothing found");
}
private static int GetDigitsSum(int num)
{
int sum = 0;
while (num > 0)
{
sum += num % 10; // добавляем в сумму последнюю цифру
num /= 10; // отсекаем последнюю цифру
}
return sum;
}
}
}