Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 10
1

Если строка- запись целого числа, то вывести 1; если вещественного , то вывести 2; если строку нельзя преобразовать в число, то вывести 0.

24.05.2011, 00:12. Показов 2187. Ответов 14
Метки нет (Все метки)

Дана строка. Если она представляет собой запись целого числа, то вывести 1; если вещественного (с дробной частью), то вывести 2; если строку нельзя преобразовать в число, то вывести 0.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2011, 00:12
Ответы с готовыми решениями:

Если строка представляет собой запись целого числа, то вывести 1; если вещественного (с дробной частью), то вывести 2
Помогите пожалуйста на ABC паскаль сделать задачу и блок-схему к ней: Дана строка. Если она...

Если C изображает цифру, то вывести строку «digit», если латинскую букву — вывести строку «lat», если русскую — вывести строку «rus»
Доброй ночи всем программерам, примитивная задачка, но в стрингах я не шарю, помогите плиз......

Дано целое число N>0, если оно является степенью числа 3 то вывести TRUE, если нет - FALSE
Дано целое число N>0, если оно является степенью числа 3 то вывести TRUE, если нет - FALSE

Дан целочисленный массив размера*N. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести*0, если нет, то вывести поряд
Дан целочисленный массив размера*N. Проверить, чередуются ли в нем четные и нечетные числа. Если...

14
6 / 6 / 0
Регистрация: 10.05.2011
Сообщений: 28
24.05.2011, 00:17 2
1. Строка. Это значит формата string? то тогда придется лезть в ассемблерский код.
2. Если массив, то
12432 - 1
123214.2312 - 2
131ывы2131 - 0

такк?

Добавлено через 34 секунды
или еще вариант. Строка через динамическую память. Что именно надо?
1
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 10
24.05.2011, 00:28  [ТС] 3
строка- string
а что это за ассемблерский код? Нельзя без него?
0
772 / 577 / 324
Регистрация: 17.06.2009
Сообщений: 1,188
24.05.2011, 00:29 4
Цитата Сообщение от diane Посмотреть сообщение
а что это за ассемблерский код?
diane, он тут вообще не нужен.
1
6 / 6 / 0
Регистрация: 10.05.2011
Сообщений: 28
24.05.2011, 00:31 5
Не знаю) не помню как по другому строку разбить и читать по элементу) надо вспомнить
В Ассемблер точно лезть не надо тебе)
А так, ассемблер это язык низкого уровня, работающий напрямую с памятью)

Добавлено через 1 минуту
STGE, я вообще не помню как string просматривать поэлементно =(
0
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 10
24.05.2011, 00:32  [ТС] 6
а если через массив?
0
772 / 577 / 324
Регистрация: 17.06.2009
Сообщений: 1,188
24.05.2011, 00:33 7
Choob, строка - это тотже самый одномерный массив (только состоящий из символов).
2
6 / 6 / 0
Регистрация: 10.05.2011
Сообщений: 28
24.05.2011, 00:35 8
STGE, О боже) позор мне =D
0
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 10
24.05.2011, 00:35  [ТС] 9
а как тогда в программе вот это выглядить будет???

"12432 - 1
123214.2312 - 2
131ывы2131 - 0"
0
772 / 577 / 324
Регистрация: 17.06.2009
Сообщений: 1,188
24.05.2011, 00:38 10
diane, а вот над этим надо бы подумать...
1
6 / 6 / 0
Регистрация: 10.05.2011
Сообщений: 28
24.05.2011, 00:44 11
diane, а вы таблицу ascii проходили? В теории тут по хорошему надо сравнивать код символа, ибо по другому как цифру от числа отличить пока не припомню...
0
382 / 330 / 159
Регистрация: 06.12.2010
Сообщений: 894
24.05.2011, 01:24 12
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{Äàíà ñòðîêà. Åñëè îíà ïðåäñòàâëÿåò ñîáîé çàïèñü öåëîãî ÷èñëà, òî âûâåñòè 1;
åñëè âåùåñòâåííîãî (ñ äðîáíîé ÷àñòüþ), òî âûâåñòè 2;
åñëè ñòðîêó íåëüçÿ ïðåîáðàçîâàòü â ÷èñëî, òî âûâåñòè 0.}
    uses crt;
    var s:string;
        i,x:integer;
begin
  Write('s: ');
  ReadLn(s);
  for i:=1 to length(s) do
    if (s[i] = '.') then
    begin
        x:=2;
        break;
    end
    else if ((s[i]>'9') or (s[i]<'0')) then
    begin
        x:=0;
        break;
    end
    else x:=1;
    
  WriteLn(x);
  Readln;
end.
1
772 / 577 / 324
Регистрация: 17.06.2009
Сообщений: 1,188
24.05.2011, 02:48 13
Daemon025, неверно работает ваша программа:
1) при вводе .032 (это к примеру);
2) при вводе любого целого числа;

Добавлено через 44 минуты
Я конечно понимаю, что мой вариант далёк от идеала, но тем не менее:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt;
var i,k,c: integer; x: real;
    d: set of char; s: string;
begin
 i:=1;
 d:=['0'..'9'];
 clrscr;
 write('vvedite stroku: ');
 readln(s);
 val(s,x,c);
 if((c<>0) or (s[1]='.') or (s[1]='0')) then k:=2
 else
  begin
   while((i<=length(s)) and (s[i] in d)) do inc(i);
   if(i>=length(s)) then k:=0
   else k:=1;
  end;
 writeln('k=',k);
end.
1
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 10
24.05.2011, 20:44  [ТС] 14
неее) мы такую таблицу не проходили)))

Добавлено через 3 минуты
спасибо большое всё получилось)))
0
Почетный модератор
64065 / 47477 / 32732
Регистрация: 18.05.2008
Сообщений: 115,185
24.05.2011, 21:25 15
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses crt;
var k,c: integer;
    x: real;
    s: string;
begin
 clrscr;
 write('vvedite stroku: ');
 readln(s);
 val(s,k,c);
 if c=0 then write('Это целое число')
 else
  begin
   val(s,x,c);
   if c=0 then write('Это вещественное число')
   else write('Это не число');
  end;
readln
end.
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2011, 21:25

Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку изображающую двоичную запись этого же числа
Вот так вот

Дано 2 действительных числа Х и Y вывести первое чилсло, если x>y и два числа, если это не так
Дано 2 числа Х и Y. Вывести на экран первое число, если х&gt;y и два числа, если это не так

Вывести полную запись десятичного числа 42*4*, в которой пропущены две цифры, если известно, что данное число кратно 72
Составьте программу, которая выводит полную запись десятичного числа 42*4*, в которой пропущены две...

Определить, содержит ли строка числа, если да, то вывести на экран только четные.
Дана символьная строка. Определить, содержит ли строка числа, если да, то вывести на экран только ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.