Hirdetés
- Öszvér módszerrel veszi fel a harcot a memóriapánikkal szemben az ASRock
- XL-esre gyúrta magát a Fractal Design tágas háza
- Mi a labubu? – és pár fontos dolog, amire idén rágugliztál
- Olyan erőre tettek szert a böngészők, ami átformálhatja a piacot
- Az ötlet jó, de milyen a kivitelezés? Teszten a Chieftec Kockája
- Vezetékes FEJhallgatók
- Azonnali informatikai kérdések órája
- VR topik
- Rémisztő árakkal szembesülnek a notebookgyártók az új mobil platformoknál
- Milyen billentyűzetet vegyek?
- Melyik tápegységet vegyem?
- SONY LCD és LED TV-k
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen TV-t vegyek?
- Milyen Android TV boxot vegyek?
Ú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 15 128GB, Kártyafüggetlen, 1 Év Garanciával
- Lenovo T14 Gen2 (i7-1165G7, 24GB DDR4, 512GB SSD, Iris Xe)
- ÚJ! BONTATLAN! ASUS RT-AC68U router
- Ubiquiti Unifi AP Wireless Access Point SWX-UAP falitartóval
- Precision 5560 27% 15.6" 4K+ IPS érintő i7-11850H T1200 32GB 1TB NVMe ujjlolv IR kam gar
- 0perces! Samsung Galaxy Book5 Pro 360 2in1 Core Ultra 7 256V 16GB 2TB 16" WQXGA+ AMOLED TOUCH 1évgar
- GYÖNYÖRŰ iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA -Kártyafüggetlen, MS3610
- Bomba ár! HP EliteBook 840 G6 - i5-8GEN I 16GB I 256GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 12 Pro Max 128GB Graphite -1 ÉV GARANCIA -Kártyafüggetlen, MS3951, 100% Akkumulátor
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


