- Flashback: Olcsó emulátoros kézi konzol R36S
- Luck Dragon: Asszociációs játék. :)
- bambano: Bambanő háza tája
- Lalikiraly: Commodore The C64, Ultimate
- Elektromos rásegítésű kerékpárok
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- MasterDeeJay: RAM gondolatok: Mennyi a minimum? DDR3 is jó?
- sziku69: Fűzzük össze a szavakat :)
- Parci: Milyen mosógépet vegyek?
- Kókuszdió: Ryzen ( Zen4 / Zen5) – amikor a „normális működés” magyarázatra szorul
Új hozzászólás Aktív témák
-
Lacces
őstag
Nos, köszönöm, a helpet, igyekeztem megírni a stuki alapján a kódot.
Valami nem stimmel az algoritmussal, (hosszabb bemeneti sztringeknél vettem észre)
Mert ezt kellene kapnom:
5 1 2 + 4 * + 3 -
De helyeztte ez jön ki...
5 1 2 + 4 * 3 - +using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace LengyelForma
{
class LengyelForma
{
static void Main(string[] args)
{
String str = "5 + ((1 + 2) * 4) - 3";
String result=LengyelFormaKonvertalas(str);
Console.WriteLine(result.ToString());
Console.ReadLine();
}
static String LengyelFormaKonvertalas(String input)
{
Stack stack = new Stack();
String str = input.Replace(" ",string.Empty);
StringBuilder formula = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
char x=str[i];
if (x == '(')
{
stack.Push(x);
}
else if (IsOperandus(x))
{
formula.Append(x);
}
else if (IsOperator(x))
{
while (stack.Count > 0 && (char)stack.Peek() != '(' && Prior(x) >= Prior((char)stack.Peek()))
{
char y = (char)stack.Pop();
formula.Append(y);
}
while (stack.Count > 0 && (char)stack.Peek() != '(' && Prior(x) > Prior((char)stack.Peek()))
{
char y = (char)stack.Pop();
formula.Append(y);
}
stack.Push(x);
}
else
{
char y = (char)stack.Pop();
if (y != '(')
{
formula.Append(y);
}
}
}
while (stack.Count>0)
{
char c = (char)stack.Pop();
if(c!='(')
formula.Append(c);
}
return formula.ToString();
}
static bool IsOperator(char c)
{
return (c=='-'|| c=='+' || c=='*' || c=='/');
}
static bool IsOperandus(char c)
{
return (c>='0' && c<='9' || c=='.');
}
static int Prior(char c)
{
switch (c)
{
case '=':
return 1;
case '+':
return 2;
case '-':
return 2;
case '*':
return 3;
case '/':
return 3;
case '^':
return 4;
default:
throw new ArgumentException("Rossz paraméter");
}
}
}
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Apple iPhone 16 Pro Max 256GB fekete titán használt, megkímélt 100% akku (140 ciklus)
- ELADÓ! SAMSUNG Odyssey G5 34'' Ívelt WQHD 165 Hz 21:9 FreeSync VA LED Gamer Monitor
- Apple Iphone 11 eladó!
- Fanatec CSL DD szimulátor szett eladó + opcionális Bass Shaker szett!
- 221 - Lenovo LOQ (17IRX10) - Intel Core i5-13450HX, RTX 5050
- iPhone 13 Pro Max 128GB 100% (1év Garancia)
- BESZÁMÍTÁS! LENOVO ThinkPad P15 Gen 1 munkaállomás - i7 10850H 16GB DDR4 256GB SSD Quadro T2000 W11
- Dell Latitude 5420 - i5 1145G7 ,16-32GB RAM, SSD, jó akku, számla, 6 hó gar
- HIBÁTLAN iPhone XR 64GB Red-1 ÉV GARANCIA - Kártyafüggetlen, MS4490,100% Akksi
- 170 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

