{% else-1 %}
Обновить
* Тема закрыта!
41.
RGame * 3.65
(29 апр 2014, 21:03) [0/0] [0] [спам] [под]
bibilink,

Держи ))) Задана строковое выражение "2+44*(50/(2+3))/3+5" или любое другое введенное пользователем.Напиши программу которая будет вычислять её.Сам задачу реализовывал на питоне,попробуй ты на php
Добавлено 29.04.14 в 21:05:30:
мое решение на питоне,правда оно не есть оптимальным,но работает *
z=raw_input("ENTER: "*

og1=og2=0
k=k2=1
dp=dm=t=t2=0
ot=""
while(k==1):
i=k=0
s=len(z)
while(i<s):
if(z[i]=="("*:

og1=i
if(z[i]=="*"*:
og2=i
k=1
i=999999

i=i+1

new=z[og1+1:og2]

k2=1
if(k==0):
k2=0
while(k2==1):
s2=len(new)
i2=k2=0
while(i2<s2):

if(new[i2]=="*"*:

d=i2
dm=i2-1
t=0
k2=1
while(new[dm]!="+"* and (new[dm]!="-"* and (new[dm]!="*"* and (new[dm]!="/"* and (dm!=-1):
dm=dm-1
dp=i2+1

while(new[dp]!="+"* and (new[dp]!="-"* and (new[dp]!="*"* and (new[dp]!="/"* and (dp!=s2-1):
dp=dp+1
if(dp==s2-1):
dp=dp+1

ot=int(new[dm+1:d])*int(new[d+1:dp])
new=new.replace(new[dm+1:dp], str(ot))
t=1
if(t!=1):

if(new[i2]=="/"*:

d=i2
dm=i2-1
t=0
k2=1
while(new[dm]!="+"* and (new[dm]!="-"* and (new[dm]!="*"* and (new[dm]!="/"* and (dm!=-1):
dm=dm-1
dp=i2+1

while(new[dp]!="+"* and (new[dp]!="-"* and (new[dp]!="*"* and (new[dp]!="/"* and (dp!=s2-1):
dp=dp+1
if(dp==s2-1):
dp=dp+1

ot=int(new[dm+1:d])/int(new[d+1:dp])
new=new.replace(new[dm+1:dp], str(ot))
t=1

if(t==1):
i2=999999
t=0
i2=i2+1

k2=1
if(k==0):
k2=0
while(k2==1):
s2=len(new)
i2=k2=0
while(i2<s2):
if(new[i2]=="+"*:

d=i2
dm=i2-1
t=0
k2=1
while(new[dm]!="+"* and (new[dm]!="-"* and (new[dm]!="*"* and (new[dm]!="/"* and (dm!=-1):
dm=dm-1
dp=i2+1

while(new[dp]!="+"* and (new[dp]!="-"* and (new[dp]!="*"* and (new[dp]!="/"* and (dp!=s2-1):
dp=dp+1
if(dp==s2-1):
dp=dp+1

ot=int(new[dm+1:d])+int(new[d+1:dp])
new=new.replace(new[dm+1:dp], str(ot))
t=1

if(t!=1):

if(new[i2]=="-"*:

d=i2
dm=i2-1
t=0
k2=1
while(new[dm]!="+"* and (new[dm]!="-"* and (new[dm]!="*"* and (new[dm]!="/"* and (dm!=-1):
dm=dm-1
dp=i2+1

while(new[dp]!="+"* and (new[dp]!="-"* and (new[dp]!="*"* and (new[dp]!="/"* and (dp!=s2-1):
dp=dp+1
if(dp==s2-1):
dp=dp+1



ot=int(new[dm+1:d])-int(new[d+1:dp])
new=new.replace(new[dm+1:dp], str(ot))
t=1

if(t==1):
i2=999999
t=0
i2=i2+1
t2=1
u=z
z=z.replace(z[og1:og2+1],new)



#############################################
new=u

k2=1
while(k2==1):
s2=len(new)
i2=k2=0
while(i2<s2):

if(new[i2]=="*"*:

d=i2
dm=i2-1
t=0
k2=1
while(new[dm]!="+"* and (new[dm]!="-"* and (new[dm]!="*"* and (new[dm]!="/"* and (dm!=-1):
dm=dm-1
dp=i2+1

while(new[dp]!="+"* and (new[dp]!="-"* and (new[dp]!="*"* and (new[dp]!="/"* and (dp!=s2-1):
dp=dp+1
if(dp==s2-1):
dp=dp+1

ot=int(new[dm+1:d])*int(new[d+1:dp])
new=new.replace(new[dm+1:dp], str(ot))
t=1
if(t!=1):

if(new[i2]=="/"*:

d=i2
dm=i2-1
t=0
k2=1
while(new[dm]!="+"* and (new[dm]!="-"* and (new[dm]!="*"* and (new[dm]!="/"* and (dm!=-1):
dm=dm-1
dp=i2+1

while(new[dp]!="+"* and (new[dp]!="-"* and (new[dp]!="*"* and (new[dp]!="/"* and (dp!=s2-1):
dp=dp+1
if(dp==s2-1):
dp=dp+1

ot=int(new[dm+1:d])/int(new[d+1:dp])
new=new.replace(new[dm+1:dp], str(ot))
t=1

if(t==1):
i2=999999
t=0
i2=i2+1

k2=1
while(k2==1):
s2=len(new)
i2=k2=0
while(i2<s2):
if(new[i2]=="+"*:

d=i2
dm=i2-1
t=0
k2=1
while(new[dm]!="+"* and (new[dm]!="-"* and (new[dm]!="*"* and (new[dm]!="/"* and (dm!=-1):
dm=dm-1
dp=i2+1

while(new[dp]!="+"* and (new[dp]!="-"* and (new[dp]!="*"* and (new[dp]!="/"* and (dp!=s2-1):
dp=dp+1
if(dp==s2-1):
dp=dp+1

ot=int(new[dm+1:d])+int(new[d+1:dp])
new=new.replace(new[dm+1:dp], str(ot))
t=1

if(t!=1):

if(new[i2]=="-"*:

d=i2
dm=i2-1
t=0
k2=1
while(new[dm]!="+"* and (new[dm]!="-"* and (new[dm]!="*"* and (new[dm]!="/"* and (dm!=-1):
dm=dm-1
dp=i2+1

while(new[dp]!="+"* and (new[dp]!="-"* and (new[dp]!="*"* and (new[dp]!="/"* and (dp!=s2-1):
dp=dp+1
if(dp==s2-1):
dp=dp+1



ot=int(new[dm+1:d])-int(new[d+1:dp])
new=new.replace(new[dm+1:dp], str(ot))
t=1

if(t==1):
i2=999999
t=0
i2=i2+1



print(new)

42.
Hatsune Miku * [мошенник] 22.23
(29 апр 2014, 21:06) [0/0] [0] [спам] [под]

а если я задам задачку решит кто нить? а то я сам ни асилил

43.
RGame * 3.65
(29 апр 2014, 21:08) [0/0] [0] [спам] [под]
Hatsune Miku,

ты сначала задай))может и Асилю

44.
Hatsune Miku * [мошенник] 22.23
(29 апр 2014, 21:15) [0/0] [0] [спам] [под]
RGame,

есть таблица select
с такой вот структурой
id (int[11]) auto_increment
kto (int[11])
komy (int[11])
msg (text)

это чёто типо перписки ну так скажем ролевая (ну думаю знаешь чё это)
мне нужно вывести переписку то есть все сообщения которые были написаны
kto = 1
komy = 2
и вывести это
юзеру в порядке

[я] - сообщение
[другой юзер] - сообщение у мну не получилось походу я тупой ((((

45.
RGame * 3.65
(29 апр 2014, 21:22) [0/0] [0] [спам] [под]

$while = mysql_query("SELECT * FROM `select` WHERE `komu` = 'ид' or `ot` = 'ид'"*;
while($msg = mysql_fetch_array($while));
if($msg[kto]=="ид"*{
echo "Я >> $msg[komu]";
}else{
echo "OT: $msg[kto]";
}
echo"<br/>$msg[msg]";
}


Изм. 1 раз. / Посл. изм.
RGame * 3.65
(29 апр 2014, 21:25)
46.
bibilink * 19.01
[автор] (29 апр 2014, 22:19) [0/0] [0] [спам] [под]

RGame, так php сам порешает это строку)

47.
RGame * 3.65
(29 апр 2014, 22:21) [0/0] [0] [спам] [под]
bibilink,

ну python тоже,но надо через строковой массив решить

48.
bibilink * 19.01
[автор] (29 апр 2014, 22:24) [0/0] [0] [спам] [под]

RGame, это создание велосипеда)

49.
RGame * 3.65
(29 апр 2014, 22:30) [0/0] [0] [спам] [под]
bibilink,

Это развитие логики))прежде чем так говорить ты должен разобраться сам в этом))

50.
bibilink * 19.01
[автор] (29 апр 2014, 23:52) [0/0] [0] [спам] [под]

RGame, как-нибудь попробуй,но возни видимо не на один час).

Подписаны: 3
Скачать тему | Файлы темы | Фильтр сообщений