Diskuze: Problem s výpočtom Sin a vytvorenie poľa
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
for (int i = 0; i < n; i++)
Console.WriteLine("[{0},{1}]", x[i], y[i]);
Nevím co přesně chceš, aby se ti to vypsalo. Ale pole nemá přepsanou metodu ToString, takže ti to vypíše jen v jakém je namespacu (předpokládám, že tohle je ta chyba, že to "nic" nevypíše). Navíc tam předáváš dva parametry a používáš jen jeden.
Pole se takhle nevypisuje, je to kolekce hodnot. Vypsat to můžeš buď takto:
for (int i = 0; i < x.Length; i++)
Console.Write("{0} ", x[i]);
a nebo takto:
foreach (double i in x)
Console.Write("{0} ", i);
Vypisuje mi túto chybu:
Error 2 The name 'i' does not exist in the current context
Hoď sem celý program od prvního znaku až po poslední.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double[] x;
double []y;
double h = 0.05;
int n = (int)(1.4 / h);
//int n = (int)(2*3.14 /h);
x = new double[n];
y = new double[n];
for (int i = 0; i < n; i++)
{
x[i] = x[i - 1] + h;
y[i] = Math.Sin(x[i]);
}
Console.WriteLine("[{0},{1}]", x[i], y[i]);
Console.ReadLine();
}
}
}
Já ti dal funkční konstrukci, která vypíše ty pole. Jenže tys to očividně dal do nějakého kontextu, kde ti to píše chybu. Proto jsem ti napsal, ať mi pošleš celý zdroják.
EDIT: Ten for cyklus k tomu taky potřebuješ...
EDIT2: Pro zdrojáky tu je přímo tag. Najdeš ho mezi těmi tlačítky nad
textem zprávy.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double[] x;
double []y;
double h = 0.05;
int n = (int)(1.4 / h);
//int n = (int)(2*3.14 /h);
x = new double[n];
y = new double[n];
for (int i = 0; i < n; i++)
{
x[i] = x[i - 1] + h;
y[i] = Math.Sin(x[i]);
}
for (int i = 0; i < n; i++)
Console.WriteLine("pole {0}= Sin({1})", y[i], x[i]);
Console.ReadLine();
}
}
}
Dakujem ale nic mi to nevypisuje. Tam maju byt take udaje 0, 0.05......1.35
for (int i = 0; i < n; i++)
=>
for (int i = 1; i < n; i++)
Nečekal jsem, že tam přidáš můj cyklus mimo tvého. Vše co stačilo dát ten můj kód někde na konec toho tvého.
Zobrazeno 13 zpráv z 13.