ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #21  
Старый 20.06.2007, 16:54
Fire3d
Познающий
Регистрация: 14.04.2007
Сообщений: 46
Провел на форуме:
842554

Репутация: 13
По умолчанию

Вот мой способ
Цитата:
uses crt;
var
a,b,s,c:integer;
begin
write('>'); readln(a,c,b);
write(a);
case c of
'+':write('+');
end;
write(b);
s:=a+b;
writeln('=',s);
end.
Почему он не работает ?
 

  #22  
Старый 20.06.2007, 17:10
Exile1985
Участник форума
Регистрация: 10.08.2006
Сообщений: 147
Провел на форуме:
404152

Репутация: 94
По умолчанию

Цитата:
Сообщение от NetMan  
Ну тогда вот так:
Код:
uses crt;
var s:string;
    a,b,c,posit:integer;

function Str2Int(Str:String):Integer;
var Res,code:integer;
begin
      val(Str,Res,code);
      Str2Int:=Res;
end;

begin
      read(s);
      posit:=pos('+',s);
      a:=Str2Int(copy(s,1,posit-1));
      b:=Str2Int(copy(s,posit+1,length(s)-posit+1));
      c:=a+b;
      write('=',c);
      readln;
end.


) ну задача стояла насколько я помню чтоб сложить введенное одной строкой: 4+4 и выдать ответ, я эт и сделал, а про другое разгавора небыло
да это и не так и сложно сделать.
 

  #23  
Старый 20.06.2007, 17:24
Fire3d
Познающий
Регистрация: 14.04.2007
Сообщений: 46
Провел на форуме:
842554

Репутация: 13
По умолчанию

Просто тем способом каторый netman написал.... Я не проходил ))) Т.е. не учили )))
 

  #24  
Старый 20.06.2007, 17:35
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

Цитата:
Сообщение от Fire3d  
Вот мой способ

Почему он не работает ?
Код:
program pas;
uses crt;
var
a,b,s:integer;
c:char;
begin
write('>'); readln(a,c,b);
write(a);
case c of
'+':write('+');
end;
write(b);
s:=a+b;
writeln('=',s);
end.
переменная, в которой может быть '+' должна быть типа char. еще было бы неплохо указать, что сложение вводить надо с пробелами (например, написать пример ). но ваще можно и так написать:

writeln('>');
writeln('4+4=8'); или writeln('FATAL ERROR!');

Последний раз редактировалось Piflit; 20.06.2007 в 17:39..
 

  #25  
Старый 20.06.2007, 17:42
Fire3d
Познающий
Регистрация: 14.04.2007
Сообщений: 46
Провел на форуме:
842554

Репутация: 13
По умолчанию

Цитата:
Сообщение от Piflit  
Код:
program pas;
uses crt;
var
a,b,s:integer;
c:char;
begin
write('>'); readln(a,c,b);
write(a);
case c of
'+':write('+');
end;
write(b);
s:=a+b;
writeln('=',s);
end.
переменная, в которой может быть '+' должна быть типа char. еще было бы неплохо указать, что сложение вводить надо с пробелами (например, написать пример ). но ваще можно и так написать:

writeln('>');
writeln('4+4=8'); или writeln('FATAL ERROR!');
Твой код тоже не работает изначально твой код был похож на мой кроме названия ячек хз почему я решил в integer запихнуть ячейку c.... щас не об этом при тесте программы ..... пишет типа invalid

Последний раз редактировалось Fire3d; 20.06.2007 в 17:50..
 

  #26  
Старый 20.06.2007, 17:57
Exile1985
Участник форума
Регистрация: 10.08.2006
Сообщений: 147
Провел на форуме:
404152

Репутация: 94
По умолчанию

Цитата:
Сообщение от Fire3d  
Просто тем способом каторый netman написал.... Я не проходил ))) Т.е. не учили )))
в чистом паскале я не особо но насколько я заню проще было бы сделать так:

Код:
var s:string;
    a,b,c,posit:integer;
begin
      read(s);
      posit:=pos('+',s);
      a:=val(copy(s,1,posit-1));
      b:=val(copy(s,posit+1,Length(s)));
      c:=a+b;
      write('=',c);
      readln;
end.
val - преобразует строку вчисло
copy - копирует заданную часть строки, формат записи такой copy(строка из которой копируем, символ с которого начинаем копировать, символ по который копируем)

но у NetMen ошибка в коде, в этой строке:

b:=Str2Int(copy(s,posit+1,length(s)-posit+1));

а именно тут length(s)-posit+1 он от общей длинны строки отнимает высчитанную позицию знака +, это не верно а вдруг будет такая запись 15+4
тогда получится 4-3 т.е. такая запись b:=Str2Int(copy(s,posit+1,1);
где 4 - длинна строки, а 3 - позиция знака +.

провильно буит так: b:=Str2Int(copy(s,posit+1,Length(s)));

Последний раз редактировалось Exile1985; 20.06.2007 в 18:00..
 

  #27  
Старый 20.06.2007, 18:01
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

Цитата:
Сообщение от Fire3d  
Твой код тоже не работает изначально твой код был похож на мой кроме названия ячек хз почему я решил в integer запихнуть ячейку c.... щас не об этом при тесте программы ..... пишет типа invalid
у меня работает о0
 

  #28  
Старый 20.06.2007, 18:16
NetMan
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
Провел на форуме:
1089794

Репутация: 134
По умолчанию

Exile1985 LOL! RTFM about Copy function.
Код:
Delphi syntax:

function Copy(S; Index, Count: Integer): string;
 

  #29  
Старый 20.06.2007, 18:22
Fire3d
Познающий
Регистрация: 14.04.2007
Сообщений: 46
Провел на форуме:
842554

Репутация: 13
По умолчанию

Спасибо всем ребят разобрался я сам.
Воть как должно быть !
только обезательно надо ставить пробелы после каждего символа к примеру 4 + 4 воть
Цитата:
program pas;
uses crt;
var
a,b,s:integer;
c, ch:char;
begin
write('>');
read(a);
read(ch, c);
readln(ch, b);

write(a);
case c of
'+':write('+');
end;
write(b);
s:=a+b;
writeln('=',s);
end.
 

  #30  
Старый 20.06.2007, 18:27
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

ты в последнем коде чето намудрил. много лишнего=\
 
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типа Проги ЛОмать будем Morph Болталка 14 21.05.2008 16:38



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ