C# Программа не работает на половину


Программа должна выводить ввиде таблицы значения функции, но работает только ввод данных. Дальше компилятор ничего не выдает. Вот код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
   class Program
   {
      static void Main(string[] args)
      {
         double z1=0,z2=0, N, M, K;
         Console.WriteLine ("Enter interval n to m and step k");
         N=double.Parse(Console.ReadLine ());
         M=double.Parse(Console.ReadLine ());
         K=double.Parse(Console.ReadLine ());

         for (double a=N; a<=M; a=K)
         {
             z1=Math.Sin(2*a)+Math.Sin(3*a)+Math.Sin(5*a);
             z2=4*Math.Cos(a/2)+Math.Cos((5/2)*a)+Math.Cos(4*a);
             if (z1==z2)
             {
                 z1=z2;
                 Console.WriteLine("{0,10} |{1,10}", a, z1);
             }
         }
         Console.ReadLine();
      }
   }
} 


0

Наверное всё же for (double a=N; a<=M; a+=K) - знак + пропущен.

0

Исправила, теперь компилятор требует ввести 4 значения, вместо 3 (N, M и шаг K)

Ответов: 1


CrazyElf

У вас пропущен знак +там где должна изменяться переменная цикла. Должно быть так:

for (double a=N; a<=M; a+=K)
{
    //...
}


0

Исправила, теперь компилятор требует ввести 4 значения, вместо 3 (N, M и шаг K)

0

Если вы поставите сразу в начале цикла Console.WriteLine(a); то увидите, что цикл отрабатывает, а 4-е значение - это уже после цикла Console.ReadLine(); чтобы вывод программы не пропадал. Какие значения вы вводите и что ожидаете от программы?

0

Или можете закомментировать строку где if: // if ... то увидите что напечатается на каждой итерации цикла.

задан
1 неделю 3 дня назад
просмотрен
27