1 задача. Если есть ошибка или можно подругому сделать напишите. class Program { class Skier { public const float procent = 0.12f; public float distance = 7f; public float multiplication; public float alldistance; public float totalmileage = 7f;
public float Mileage(int day) { if (day == 1) { return alldistance = distance ; } else if (day >= 2 ) { for (int i = 2; i <= day; i++) { multiplication = distance * procent; alldistance = distance + multiplication; distance = alldistance; } } return alldistance; } public float TotalPath(int days) { if (days == 1) { return totalmileage = distance; } else if (days >= 2) { for (int i = 2; i <= days; i++) { multiplication = distance * procent; alldistance = distance + multiplication; distance = alldistance; totalmileage += alldistance; } } return totalmileage; } } static void Main(string[] args) { Skier skier = new Skier(); Console.WriteLine("Пробег лыжника за n дней тренировок, введите n: "); skier.Mileage(Convert.ToInt32(Console.ReadLine())); Console.WriteLine("Пробег: "+ skier.alldistance); Console.WriteLine("Суммарный путь за m дней, введите m: "); skier.TotalPath(Convert.ToInt32(Console.ReadLine())); Console.WriteLine("Суммарный путь: " + skier.totalmileage); Console.ReadLine(); } }
Задача 2. Решил ее так как я сам понял..
class Students { List<int> numbers = new List<int>(); public int countstudents; public int maxCount; public int minCount; public void clas(int n) { for (int i = 1; i <= n; i++) { Console.WriteLine("Введите кол-во учеников в классе: " ); countstudents = Convert.ToInt32(Console.ReadLine()); numbers.Add(countstudents); } maxCount = numbers.Max(); minCount = numbers.Min(); Console.WriteLine("Численность превышает на: " + (maxCount-minCount) + " ученика/ов"); } static void Main(string[] args) { Students students = new Students(); Console.WriteLine("Введите кол-во классов: "); students.clas(Convert.ToInt32(Console.ReadLine())); Console.ReadLine(); }
Реализацию на Си пишите сами, я его не знаю, могу подсказать алгоритм. Нужно обе переменные разделить на действительную часть и мнимую. A = A1 + j*A2; A1 = 1; A2 = -2 B = B1 + j*B2; B1 = 1; B2 = 3 И точно также все результаты вычислений делятся на две части. И каждую скобку записывай в отдельную пару переменных, а на последнем шаге всё сложишь и умножишь. Можно и подпрограммы сделать на сумму и произведение. Сумма S = A + B = (A1 + B1) + j*(A2 + B2); S1 = A1 + B1; S2 = A2 + B2 Произведение P = A*B = (A1*B1 - A2*B2) + j*(A1*B2 + A2*B1) P1 = A1*B1 - A2*B2; P2 = A1*B2 + A2*B1 Квадраты AA = A*A = (A1*A1 - A2*A2) + j*(2*A1*A2) AA1 = A1*A1 - A2*A2; AA2 = 2*A1*A2 BB = B*B = (B1*B1 - B2*B2) + j*(2*B1*B2) BB1 = B1*B1 - B2*B2; BB2 = 2*B1*B2
class Program
{
class Skier
{
public const float procent = 0.12f;
public float distance = 7f;
public float multiplication;
public float alldistance;
public float totalmileage = 7f;
public float Mileage(int day)
{ if (day == 1)
{ return alldistance = distance ; }
else if (day >= 2 )
{ for (int i = 2; i <= day; i++)
{
multiplication = distance * procent;
alldistance = distance + multiplication;
distance = alldistance;
}
}
return alldistance;
}
public float TotalPath(int days)
{ if (days == 1)
{ return totalmileage = distance; }
else if (days >= 2)
{ for (int i = 2; i <= days; i++)
{
multiplication = distance * procent;
alldistance = distance + multiplication;
distance = alldistance;
totalmileage += alldistance;
}
}
return totalmileage;
}
}
static void Main(string[] args)
{
Skier skier = new Skier();
Console.WriteLine("Пробег лыжника за n дней тренировок, введите n: "); skier.Mileage(Convert.ToInt32(Console.ReadLine())); Console.WriteLine("Пробег: "+ skier.alldistance);
Console.WriteLine("Суммарный путь за m дней, введите m: "); skier.TotalPath(Convert.ToInt32(Console.ReadLine())); Console.WriteLine("Суммарный путь: " + skier.totalmileage);
Console.ReadLine();
} }
Задача 2. Решил ее так как я сам понял..
class Students {
List<int> numbers = new List<int>();
public int countstudents;
public int maxCount;
public int minCount;
public void clas(int n)
{
for (int i = 1; i <= n; i++)
{
Console.WriteLine("Введите кол-во учеников в классе: " );
countstudents = Convert.ToInt32(Console.ReadLine());
numbers.Add(countstudents);
}
maxCount = numbers.Max();
minCount = numbers.Min();
Console.WriteLine("Численность превышает на: " + (maxCount-minCount) + " ученика/ов");
}
static void Main(string[] args) {
Students students = new Students();
Console.WriteLine("Введите кол-во классов: "); students.clas(Convert.ToInt32(Console.ReadLine()));
Console.ReadLine();
}
Нужно обе переменные разделить на действительную часть и мнимую.
A = A1 + j*A2; A1 = 1; A2 = -2
B = B1 + j*B2; B1 = 1; B2 = 3
И точно также все результаты вычислений делятся на две части.
И каждую скобку записывай в отдельную пару переменных, а на последнем шаге всё сложишь и умножишь.
Можно и подпрограммы сделать на сумму и произведение.
Сумма
S = A + B = (A1 + B1) + j*(A2 + B2); S1 = A1 + B1; S2 = A2 + B2
Произведение
P = A*B = (A1*B1 - A2*B2) + j*(A1*B2 + A2*B1)
P1 = A1*B1 - A2*B2; P2 = A1*B2 + A2*B1
Квадраты
AA = A*A = (A1*A1 - A2*A2) + j*(2*A1*A2)
AA1 = A1*A1 - A2*A2; AA2 = 2*A1*A2
BB = B*B = (B1*B1 - B2*B2) + j*(2*B1*B2)
BB1 = B1*B1 - B2*B2; BB2 = 2*B1*B2