Przetwarzanie kodu C++ C#

0

Witam, mam poważny problem otóż już się pogubiłem :/
przerabiam ten kod aby działał on na C#
[img]http://i.imgur.com/PRDSaPo.png?1[/img]

mam taki kod i masę błędów :/ jakieś wskazówki ?

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

namespace MinMaxRek
{
    

    class Program
    {
        const int N = 8;
        int[N] X = { 1, 4, 3, 2, 4, 9, 5, 7 };
        
        void Minmaxreff(int lewy, int prawy,ref int  index_min,ref int index_max);
        
        
       


        static void Main(string[] args)
        {
            int min, max;
            for (int i = 0; i < N; i++)
            {

                Console.WriteLine(X[i]);
                Minmaxreff(0, N - 1, min, max);
            }
            }


        }
    }
}
 
0

Najlepiej każdy błąd wkleić w Google i sprawdzić co on znaczy, jak go naprawić.

0

Policz ile masz znaków { i }

0

Użyj Google zanim zapytasz. http://bfy.tw/2bS1

0

ok mam problem w c++ tym razem :D

void MinMaxRek (int lewy, int prawy, int &index_min, int &index_max); 

i error : undefined reference to `MinMaxRek(int, int, int&, int&)'|

1

A gdzie jest definicja tej funkcji?

0

juz wszystko jest teraz powiedzcie mi jak i gdzie przypisać zmienne i_max1 itp;

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

public static class GlobalMembersMain
{

    public const int N = 8;
    public static int[] X = { 1, 4, 3, 2, 4, 9, 5, 7 };

    public static void MinMaxRek(int lewy, int prawy, ref int index_min, ref int index_max)
    {
        int srodek;
        int i_max1;
        int i_max2;
        int i_min1;
        int i_min2;

        if (lewy == prawy)
        {
            index_min = index_max = lewy;
            return;
        }
        if (lewy + 1 == prawy)
        {
            if (X[lewy] >= X[prawy])
            {

                index_max = lewy;
                index_min = prawy;
                return;

            }
            else
            {
                index_min = lewy;
                index_max = prawy;
                return;

            }
        }

        if (lewy + 1 < prawy)
        {
            srodek = (lewy + prawy) / 2;
            MinMaxRek(lewy, srodek, ref i_min1, ref i_max1);
            MinMaxRek(srodek + 1, prawy, ref i_min2, ref i_max2);
            if (X[i_min1] <= X[i_min2])
            {
                index_min = i_min1;
            }
            else
            {
                index_min = i_min2;
            }
            if (X[i_max1] >= X[i_max2])
            {
                index_max = i_max1;
            }
            else
            {
                index_max = i_max2;
            }
            return;


        }

    }

    static void Main()
    {


        int min;
        int max;
        for (int i = 0; i < N; i++)



        {
            Console.Write("X[");
            Console.Write(i);
            Console.Write("]=");
            Console.Write(X[i]);
            Console.Write("; ");
        }
        Console.Write("\n");

        MinMaxRek(0, N - 1, ref min, ref max);

        Console.Write("min= X[");
        Console.Write(min);
        Console.Write("] =");
        Console.Write(X[min]);
        Console.Write("\n");
        Console.Write("max= X[");
        Console.Write(max);
        Console.Write("] =");
        Console.Write(X[max]);
        Console.Write("\n");

        
    }
}
1
int srodek;
int i_max1 = 0;
int i_max2 = 0;
int i_min1 = 0;
int i_min2 = 0; 
int min = 0;
int max = 0;
0

Działa :) powie mi ktoś jeszcze czemu nie liczy mi poprawnie maxa ?

Zauważyłem że gdy wyzeruje MIN I MAX to mi pisze pierwszy wyraz z tabeli :/

Wiem że MIN i MAX muszę pod coś pdpisać tylko pod co :/

Help :/

0

Ten kod jest skomplikowany. Nie można napisać innego - prostszego?

0

Wykladowca życzy sobie taki :/

0
astronic napisał(a):

Wykladowca życzy sobie taki :/

I wykładowca zabrania ci korzystać z metody string.Format(), interpolacji stringa albo nawet zwykłej konkatenacji?

0

zabrania dlatego że tego jeszcze nie było i nie możemy tego używać :D

0

To jak to co zadał było, to powinieneś umieć to zrobić...

0

Umiem, tyle że nie wiem czemu mi wyskakuje error przy dwóch ostatnich zmiennych. Dlatego potrzebuje pomocy lel :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1