#include <cstdlib>
#include <iostream>
using namespace std;
//using std::System;
//using System.Collections;
//using System.Text.RegularExpressions;
class Program
{
public:
// конструктор
Program()
{
main();
};
//деструктор
~Program(){
// что в деструкторе? return EXIT_SUCCESS;?
};
static int main()
{
// cout << "Press the enter key to continue ...";
// cin.get();
return EXIT_SUCCESS;
};
};
Ввод с клавиатуры изменить на ввод из файла
Код:
using System;
using System.Collections;
using System.Text.RegularExpressions;
class Program
{
public static void PrintValues(IEnumerable myCollection)
{
foreach (Object obj in myCollection)
Console.Write("{0}", obj);
Console.ReadLine();
}
static void Main(string[] args)
{
Object qwer2;
Stack stk = new Stack();
string term, qwer1, a1, a2, a3;
Console.WriteLine("Write term in OPN: ");
term = Console.ReadLine();
string[] split = term.Split(new Char[] { ' ' });
foreach (string s in split)
{
if (s.Trim() != "")
{
Regex rgx = new Regex("[A-Za-z0-9]");
foreach (char str in s)
if (rgx.IsMatch(s))
stk.Push(s);
else
{
if (s == "+" || s == "-")
{
qwer2 = stk.Pop();
a3 = qwer2.ToString();
a2 = s.ToString();
qwer2 = stk.Pop();
a1 = qwer2.ToString();
qwer1 = string.Concat("(" + a1 + a2 + a3 + ")");
stk.Push(qwer1);
}
else
{
qwer2 = stk.Pop();
a3 = qwer2.ToString();
a2 = s.ToString();
qwer2 = stk.Pop();
a1 = qwer2.ToString();
qwer1 = string.Concat(a1 + a2 + a3);
stk.Push(qwer1);
}
}
}
}
PrintValues(stk);
}
}
using System.Collections;
using System.Text.RegularExpressions;
class Program
{
public static void PrintValues(IEnumerable myCollection)
{
foreach (Object obj in myCollection)
Console.Write("{0}", obj);
Console.ReadLine();
}
static void Main(string[] args)
{
Object qwer2;
Stack stk = new Stack();
string term, qwer1, a1, a2, a3;
Console.WriteLine("Write term in OPN: ");
term = Console.ReadLine();
string[] split = term.Split(new Char[] { ' ' });
foreach (string s in split)
{
if (s.Trim() != "")
{
Regex rgx = new Regex("[A-Za-z0-9]");
foreach (char str in s)
if (rgx.IsMatch(s))
stk.Push(s);
else
{
if (s == "+" || s == "-")
{
qwer2 = stk.Pop();
a3 = qwer2.ToString();
a2 = s.ToString();
qwer2 = stk.Pop();
a1 = qwer2.ToString();
qwer1 = string.Concat("(" + a1 + a2 + a3 + ")");
stk.Push(qwer1);
}
else
{
qwer2 = stk.Pop();
a3 = qwer2.ToString();
a2 = s.ToString();
qwer2 = stk.Pop();
a1 = qwer2.ToString();
qwer1 = string.Concat(a1 + a2 + a3);
stk.Push(qwer1);
}
}
}
}
PrintValues(stk);
}
}
[ code ]
// создать поток
ifstream myFileOpen;
// присоединить поток к файлу
myFileOpen.open("NameOfFile.txt");
// если поток открыт
if (myFileOpen.is_open()){
// пока не достигнут конец файла
while(!myFileOpen.eof())
{
//тут пишем код считывания строк или символов из нашего файла
}
}
// закрыть поток
myFileOpe.close();
[ /code ]
Только объясните, как у вас работает такая конструкция?
[ code ]
class Program
{
public static void PrintValues(IEnumerable myCollection)
{
}
static void Main(string[] args)
{
}
}
[ /code ]
У меня ваша идея обернуть main в класс почему-то не работает:
vvmCpp, по секрету -- это не C++.