Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2013, 18:08   #1
Ulkar
Новичок
Джуниор
 
Регистрация: 11.02.2011
Сообщений: 1
По умолчанию Возврат массива из метода (с#)

Помогите, кто сможет, у меня такая проблема, мы же возвращаем значения из методов в программу словом return, есть ли разница, если мне нужно вывести не число, а массив? а то мне выдает ошибку " неявное преобразование типа невозможно"
Код программы
Код:
 using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int i, l; double x0 = 0, x1 = 1.5, xn = 3, h = 0.5, p; double[] g; const int n = 4; 
            double[] x = new double[n] { 0, 1, 2, 3 };
            double[] f = new double[n] { 0, 0.5, 0.866, 1 };
            Console.WriteLine("     Таблица функции \n");
            for (i = 0; i < n; i++)
            {
                Console.WriteLine("{0,10:f2}  {1,10:f2}", x[i], f[i]);
            }
            Console.ReadKey();

            g = kf(n,x, f);
            l = (int)((xn - x0) / h + 1);
            p = sp(n, x, f, g, x1);
            for (i=1; i<l; i++)
            {
                Console.WriteLine("p",p);
            }
            Console.ReadKey();
        }
        static double[] kf(int n, double[] x, double[] f)
        {
            int i, j, m; double A, B, R; double[] k; double[] c;
            k[1] = 0; c[1] = 0;
            for (i = 2; i < n; i++)
            {
                j = i - 1; m = j - 1;
                A = x[i] - x[j]; B = x[j] - x[m];
                R = 2 * (A + B) - B * c[j]; c[i] = A / R;
                k[i] = (3 * (f[i] - f[j]) / A - (f[j] - f[m]) / B - B * k[j]) / R;
            }
            c[n] = k[n];
            for (i = n - 1; i < n; i--)
            {
                c[i] = k[i] - c[i] * c[i + 1];

            }
            return c[i];


        }
        static double sp(int n, double[] x, double[] f, double[] c, double x1)
        {
            int i=0,j; double A,B,D,Q,R,p=0;
            do
            {
                i=i+1;
            }
            while ((x1>x[i]) && (i!=n));
            j=i-1; A=f[j]; B=x[j]; Q=x[i]-B; R=x1-B; D=c[i+1];
            B=(f[i]-A)/Q - (D+2*p)*Q/3; D=(D-p)/Q*R;
            p=A+R*(B+R*(p+D/3));
            return p;
        }
    }
}

Последний раз редактировалось Stilet; 20.04.2013 в 21:27.
Ulkar вне форума Ответить с цитированием
Старый 20.04.2013, 22:17   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Код:
static double[] kf(int n, double[] x, double[] f)
{
    int i, j, m; double A, B, R; 
    double[] k = new double[n];
    double[] c = new double[n];
    k[1] = 0; c[1] = 0;
    for (i = 2; i < n; i++)
    {
        j = i - 1; m = j - 1;
        A = x[i] - x[j]; B = x[j] - x[m];
        R = 2 * (A + B) - B * c[j]; c[i] = A / R;
        k[i] = (3 * (f[i] - f[j]) / A - (f[j] - f[m]) / B - B * k[j]) / R;
    }
    c[n] = k[n];
    for (i = n - 1; i < n; i--)
    {
        c[i] = k[i] - c[i] * c[i + 1];
    }
    return c;
}
Надо вернуть массив - вот и возвращайте массив, а не его I-ый элемент. Также Вы забыли проинициализировать массивы.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача массива в функцию и возврат массива из функции Gstar C# (си шарп) 6 14.10.2012 00:38
Возврат массива из функции max_prorok Помощь студентам 2 06.10.2011 12:39
Вызов метода из метода kuzjma PHP 8 10.12.2010 02:38
Возврат курсора Bob Dylan Общие вопросы C/C++ 6 08.08.2010 22:58
Возврат массива значений в функцию main. sadf Общие вопросы C/C++ 5 03.03.2010 21:32