C# átírása C++ba

C# átírása C++ba
2013-04-07T12:31:39+02:00
2013-04-10T21:56:43+02:00
2022-10-23T21:20:36+02:00
  • Ebben a szakmában a siker nyitja, hogy ne "összeszenvedd", hanem kihívásnak tekintsd

    Ha nagyon elakadsz én általában a páros programozást szoktam ajánlani ilyenre.
    Vagyis ha akarsz, de nem tudsz.

    Egy segítővel (aki meg is tudja csinálni, sőt profi) leültök és az minden lépést, mit miért csinál mond. Ha elakadsz a követéssel, elmagyarázza miért pont így (szemlélet is!) ez a lényeg. Igaz sokkal több idő neki, mintha egyedül csinálná, de neked kevesebb, mintha egyedül kínlódnál és mégis többet tanulhatsz belőle.

    Mire elkészültök egyedül is meg tudnád csinálni, ráadásul nem probléma megvédeni a munkát ("miért ilyen adatszerkezetet használt ennél a résznél").

    Bár régen volt hogy okítottam meg segítettem... ki tudja ma mi van
    Mutasd a teljes hozzászólást!
  • Nagyon szépen köszönöm, az utóbbi lehetőséget választom, most kaptunk plusz egy hetet, azalatt csak össze tudom szenvedni :)
    Mutasd a teljes hozzászólást!
  • Sajnos olyan oldalt nem találsz, ahol ennek a programnak a pontos implementálása c++ -ban meglenne. Gondolom ezt valaki régebben nálatok megírta (neki még C#-ban kellett), csak most neked is ezt a feladatot adták, csak épp c++ -ban implementálva.
    De azért ha hármassal korábban átmentél, akkor abban talán van annyi, hogy tudod értelmezni a kódot. Sokat segíthet az, hogy a változók magyarul vannak.
    A problémádra két megoldás van.
    1. Vagy pénzért itt valakit megkérsz, hogy írja át.
    2. Átolvasod alaposan ezt a kódot és megérted - elvégre a C++ is és a C# is hasonló alapokon nyugszik - így talán nem olyan nehéz megérteni, utána pedig részekre szeded és elkezded megírni a C++ változatát. És ha itt elakadsz, akkor már a Tudástárban segítséget kérsz, ahol biztos hogy fognak válaszolni.
    Mutasd a teljes hozzászólást!
  • Én nem értek a c#-hoz, de ha jól látom ez a .NET keretrendszert használja, ami talán támadható c++ -ból is.

    De a megfogalmazás sem egyértelmű, pure c++ kell átirni, ahol csak a standard könyvtári függvényeket használhatod vagy mire?????

    Esetleg használhatod a .NET-et????
    Mutasd a teljes hozzászólást!
  • Kezdetnek mondjuk leírhatnád, hogyan próbáltad ezeket az osztályokat/fájlműveleteket implementálni c++ nyelven. Ezek után valószínűleg több segítséget fogsz kapni
    Mutasd a teljes hozzászólást!
  • Nem azt írtam, hogy csinálja meg valaki, hanem hogy segítséget kérek, tud-e valaki olyan oldalt ahol kicsit konkrétabban le van írva a dolog.
    Mutasd a teljes hozzászólást!
  • Állás/munka rovat, ott lehet, hogy valaki szóba áll veled (a megfelelő ajánlat után persze).
    Mutasd a teljes hozzászólást!
  • Szép napot az Uraknak! A problémám az lenne, hogy van egy program amit át kellene írnom C#-ról C++ba. Erőteljesen kezdő vagyok, hogy kezdjek neki, mit tegyek? A helyzet, hogy a beadandót kell készítenem és magamtól a feladat első részét sem tudnám teljesíteni, de neten csak a c# verzió van fent, nekem pedig c++ban kell beadnom. Prog1ből átmentem 3assal, de sok alap tudásom nincs, programkeretet tudok írni meg néhány ciklus (for, if ilyesmik) nagyjából mennek de ez az átírás nagyon nem az én műfajom, ezért kértem a segítségeteket! Nincs valami linketek ami megsegítené a munkámat? (lehetőleg magyarul, de az sem nagy gond ha angolul) Egy tutorial vagy bármi help amiben leírják hogy mit hogy kell átírni hogy ez c++ legyen? Találtam programokat, amik átírják de sokra nem mentem vele. Visual Studio 2010ben dolgozom, ha ezzel közelebb vagyunk.

    Ez lenne a program :
    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Text.RegularExpressions; namespace zene { class Szám { public int Csat { get; set; } public int Minute { get; set; } public int Sec { get; set; } public string Azon { get; set; } public Szám(string a) { string[] adat = new string[4]; char[] sep = { ' ' }; adat = a.Split(sep, 4); Csat = Convert.ToInt32(adat[0]); Minute = Convert.ToInt32(adat[1]); Sec = Convert.ToInt32(adat[2]); Azon = adat[3]; } public long Kezd { get; set; } } class Program { static void Main(string[] args) { List<Szám>[] csatorna = new List<Szám>[3]; for (int i = 0; i < 3; i++) { csatorna[i] = new List<Szám>(); } #region 1. feladat - beolvasás StreamReader be = new StreamReader("musor.txt"); int n = Convert.ToInt32(be.ReadLine()); for (int i = 0; i < n; i++) { Szám sz = new Szám(be.ReadLine()); csatorna[sz.Csat - 1].Add(sz); } be.Close(); for (int i = 0; i < 3; i++) { long eltelt = 0; foreach (Szám sz in csatorna[i]) { sz.Kezd = eltelt; eltelt += sz.Minute * 60 + sz.Sec; } } #endregion #region 2. feladat - zeneszámok száma csatornánként Console.WriteLine("2. feladat"); for (int i = 0; i < 3; i++) { Console.WriteLine("A(z) {0}.i csatornán {1} számot játszottak", i + 1, csatorna[i].Count()); } #endregion #region 3. feladat - E. Clampton időköz Console.WriteLine("3. feladat"); Szám első = csatorna[0].Find(e => e.Azon.Contains("Eric Clapton:")); Szám utolsó = csatorna[0].FindLast(e => e.Azon.Contains("Eric Clapton:")); #region ez a megoldás nem tetszik, bár ötlet van benne //Console.WriteLine(első.Azon); //Console.WriteLine(utolsó.Azon); //int hely = 0; //Int64 idő = utolsó.Minute * 60 + utolsó.Sec; //foreach (Szám sz in csatorna[0]) //{ // if (sz == első || sz== utolsó) // { // hely++; // } // if (hely == 1) // { // idő += sz.Minute * 60 + sz.Sec; // } //} #endregion Int64 idő = utolsó.Kezd + utolsó.Minute * 60 + utolsó.Sec - első.Kezd; //int ó = (int)idő / 3600; //int p = (int)(idő - ó * 3600) / 60; //int m = (int)idő - ó * 3600 - p * 60; DateTime ideje = new DateTime(idő*10000000); Console.WriteLine("Az eltelt idő {0}", ideje.ToString("T")); #endregion; #region 4. feladat - ; Console.WriteLine("4. feladat"); Szám omega = null; int j = 0; while ((omega == null) && (j<3)) { omega = csatorna[j].Find(e => e.Azon.CompareTo("Omega:Legenda") == 0); j++; } Console.WriteLine(omega.Kezd); ideje = new DateTime(omega.Kezd*10000000); Console.WriteLine("Az Omega száma a(z) {0}. csatornán szólt, kezdete {1}", omega.Csat, ideje.ToString("T")); j--; for (int i = 0; i < 3; i++) { if (i != j) { utolsó = csatorna[i].FindLast(e => e.Kezd < omega.Kezd); Console.WriteLine("Ezalatt a(z) {0} csatornán {1} volt hallható", i+1, utolsó.Azon); } } #endregion; #region 5. feladat - Minta keresés RegEx Console.WriteLine("5. feladat"); Console.Write("Adja meg a keresett karaktereket: "); string sms = Console.ReadLine(); StreamWriter ki = new StreamWriter("keres.txt"); ki.WriteLine(sms); string minta = ".*"; for (int i = 0; i < sms.Length; i++) { minta = minta + Convert.ToString(sms[i]).ToLower()+ ".*"; } Regex mint = new Regex(minta); for (int i = 0; i < 3; i++) { foreach (Szám sz in csatorna[i]) { if (mint.IsMatch(sz.Azon.ToLower())) { ki.WriteLine(sz.Azon); Console.WriteLine(sz.Azon); } } } ki.Close(); #endregion #region 6. feladat - dumapercek Console.WriteLine("6. feladat"); long ujido = 180; int hely = 3420; foreach (Szám sz in csatorna[0]) { if (hely < (sz.Minute*60+sz.Sec +60)) { ujido += hely + 180; hely = 3420; } ujido += sz.Minute * 60 + sz.Sec + 60; hely -= sz.Minute * 60 + sz.Sec + 60; } ideje = new DateTime(ujido * 10000000); Console.WriteLine("A műsor új ideje: {0}", ideje.ToString("T")); #endregion Console.ReadLine(); } } }
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd