Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

20.10.2009, 18:33
|
|
Новичок
Регистрация: 19.10.2009
Сообщений: 2
Провел на форуме: 2674
Репутация:
0
|
|
Ребята,может у кого - то завалялась,программка по теме: "Компьютерная диагностика неисправностей автомобилей?" или что-то такое?если у кого-то есть прошу помощи..буду благодарен.Спасибо за помощь..
или
Помогите пожалуйста может у кого - то такая программа есть: для разработка криптографической защиты данных.После запуска на выполнение программа должна по одному из алгоритмов, использующих генератор случайных чисел, зашифровать информацию, содержащуюся в указанном преподавателем файле, после чего записать файл под другим именем. Далее, по указанию пользователя, необходимо расшифровать записанный файл с помощью того же алгоритма.
|
|
|

27.10.2009, 13:53
|
|
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме: 2052341
Репутация:
95
|
|
парни срочно, сижу на зачете. Организовал массив. Как перевернуть строки относительно серидины именно середины, НЕ ДИАгОНАЛИ
|
|
|

27.10.2009, 19:42
|
|
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме: 105684
Репутация:
-1
|
|
подскажытем мине пожалуиста такую функцыю как в с++ cin.putback();
if(isalpha(ch)) {
cin.putback(ch);
cin>>string_value;
return curr_tok=NAME;
|
|
|

28.10.2009, 23:05
|
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
Сообщение от new-sl
подскажытем мине пожалуиста такую функцыю как в с++ cin.putback();
if(isalpha(ch)) {
cin.putback(ch);
cin>>string_value;
return curr_tok=NAME;
см StreamReader.Peek()
|
|
|

29.10.2009, 15:37
|
|
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме: 3578578
Репутация:
275
|
|
Сообщение от new-sl
подскажытем мине пожалуиста такую функцыю как в с++ cin.putback();
if(isalpha(ch)) {
cin.putback(ch);
cin>>string_value;
return curr_tok=NAME;
java.io.PushbackInputStream
|
|
|

30.10.2009, 02:01
|
|
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме: 3578578
Репутация:
275
|
|
Сообщение от new-sl
парсер на калкулатор и если я например пишу строку 1+2+3+4 то чтобы она не всю строку считывала а толко 1 символ
неправильный подход. считывай всю строку, а потом парси. для разбора математических выражений есть специальный алгоритм.
|
|
|

30.10.2009, 13:46
|
|
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме: 105684
Репутация:
-1
|
|
Сообщение от Forcer
неправильный подход. считывай всю строку, а потом парси. для разбора математических выражений есть специальный алгоритм.
етот калкулатор описан в книге от bjarne stroustrup она по с++ я просто перевел ето в жаву и столкнулся с множеством проблем
Код:
import java.util.*;
public class calculator {
static final int NAME=0, NUMBER=1, END=2,
PLUS='+', MINUS='-', MUL='*', DIV='/',
PRINT=';', ASSIGN='=', LP='(', RP=')', POW='^';
static int curr_tok=PRINT;
static double number_value;
static String string_value;
static int no_of_errors=0;
static Scanner cin=new Scanner(System.in);
static double expr(boolean get)
{
System.out.println("expr");
double left=term(get);
for(;;)
switch (curr_tok)
{
case PLUS:
left+=term(true);
break;
case MINUS:
left-=term(true);
break;
default: return left;
}
}
static double term (boolean get)
{
System.out.println("term");
double left=prim(get);
for(;;)
switch (curr_tok){
case MUL:
left *=prim(true);
break;
case DIV:
double d=prim(true);
left/=d;
break;
default :
return left;
}
}
static double prim (boolean get)
{
System.out.println("prim");
if(get)
get_token();
switch (curr_tok){
case NUMBER :
{
double v=number_value;
System.out.println("number value"+number_value);
get_token();
return v;
}
case MINUS:
return -prim(true);
case LP:
{
double e=expr(true);
if(curr_tok!=RP)
return error(" ) erwartet");
get_token();
return e;
}
default:
return error("primary erwartet");
}
}
static int get_token()
{
System.out.println("get_token");
String token_string;
char token_char;
token_string=cin.next();
token_char=token_string.charAt(0);
System.out.println("String:"+token_string);
switch(token_char){
case 0:
return curr_tok=END;
case ';' :
case '*' :
case '/' :
case '+' :
case '-' :
case '(' :
case ')' :
case '=' :
System.out.println("Token");
int ch=(int)token_char;
return curr_tok=ch;
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
case '.':
number_value=Double.parseDouble(token_string);
System.out.println("Number");
return curr_tok=NUMBER;
default: string_value=token_string;
return curr_tok=NAME;
}
}
static double error( String ERROR_STRING)
{
System.out.println("error");
no_of_errors++;
return 1;
}
public static void main (String []argv)
{
while(true)
{
System.out.println("main");
get_token();
if(curr_tok==END)
break;
System.out.println("RESULT"+expr(false));
}
}
}
вот в принципи сама прога я её патом убиру чтобы если припод будет искать тут как видеш постояно надо сапрашивать 1 символ ибо ты за 1 вызоф обрабативаеш 1 символ иначи некак а тут при простом счтение надо постоян нажимать пробел и писать следушьи символ мине ето неподходит надо чтоби в 1 строку считивая всю строку и патом парсить думаю непоидет
если можеш приведи пример
Последний раз редактировалось new-sl; 30.10.2009 в 13:50..
|
|
|

30.10.2009, 13:52
|
|
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме: 105684
Репутация:
-1
|
|
я гдето читал что можно осушествит счтения по 1 символу спомощю подключения библиотеки jcurses но ниснаю так ли ето
|
|
|

30.10.2009, 14:06
|
|
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме: 105684
Репутация:
-1
|
|
а вот кароче спомощю переменои i каторая постояно увиличивается на 1 (i++) тока для етова мине надо ешё исползовать Class PushbackInputStream но к сожилению досихпор недошол как ево исползовать
Код:
static int get_token()
{
System.out.println("get_token");
String token_string;
char token_char;
int i=0;
token_string=cin.nextLine();
token_char=token_string.charAt(i);i++;
Последний раз редактировалось slesh; 30.10.2009 в 14:44..
Причина: забыл код загнать в тег [CODE]
|
|
|

31.10.2009, 20:46
|
|
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме: 2052341
Репутация:
95
|
|
посоветуйте книгу о нестандартных методах программирования на си шарпе.
Гуглил на название типа "C# глазами хакера" - результата нет))
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|