Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация

Ответ Создать новую тему
 
Элизабет
Новичок
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 7
07.05.2011, 00:03     Алфавитный порядок
  #1
Приветик друзья.
Нужна ваша помощь.
Столкнулась с задачкой впринципи не очень сложно, но имею трудности в написании её на QBasic((
Никогда не изучала этот язык, поэтому даж не имею представления как на нём работать....
Нуждаюсь в вас.

вот условие:

Написать и протестировать функцию, которая определяет, располагаются ли буквы в заданной символьной строке в алфавитном порядке.

вот код на Паскале:
Код 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
26
27
28
29
30
31
32
33
34
35
36
uses crt;
const bk=['A'..'Z','a'..'z'];
function Alf(s:string;var k:byte):boolean;
var s1:string;
    f:boolean;
    i:byte;
begin
s1:=s;{сделаем копию строки}
for i:=length(s1) downto 1 do
if not(s1[i] in bk) then delete(s1,i,1);{удалим не буквы}
k:=length(s1);
if k>0 then{если есть буквы}
 begin
  for i:=1 to length(s1) do
  s1[i]:=UpCase(s1[i]);{приведем к верхнему регистру}
  f:=true;
  i:=2;
  while(i<=length(s1))and f do
  if s1[i]<s1[i-1] then f:=false{если не по алфавиту}
  else i:=i+1;
  Alf:=f;
 end;
end;
var s:string;
    b:boolean;
    n:byte;
begin
clrscr;
writeln('vvedite stroku soderzhasyu latinskie bukvi:');
readln(s);
b:=Alf(s,n);
if n=0 then write('v stroke net latinskih bukv')
else if b then write('bukvi po alfavitu')
     else write('bukvi ne po alfavitu');
readln
end.
надеюсь вы поможите мне
AdAgent
Объявления
07.05.2011, 00:03
кот Бегемот
Платежеспособный зверь
7095 / 3309 / 74
Регистрация: 28.10.2009
Сообщений: 8,286
07.05.2011, 01:11     Алфавитный порядок
  #2
Не знаю, есть ли смысл городить огород с функцией, в принципе, и без неё всё легко проверяется, но если нужна именно функция - уточните. Программа вот:
Код PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
INPUT "vvedite stroku ",a$
FOR i = 1 TO LEN(a$)
IF MID$(a$, i, 1) >= "A" AND MID$(a$, i, 1) <= "Z" OR MID$(a$, i, 1) >= "a" AND MID$(a$, i, 1) <= "z" THEN b$ = b$ + MID$(a$, i, 1)
NEXT
IF b$ = "" THEN
PRINT "bukv net"
ELSE
b$ = UCASE$(b$)
FOR i = 2 TO LEN(b$)
IF MID$(b$, i, 1) < MID$(b$, i - 1, 1) THEN f = 1
NEXT
IF f = 0 THEN PRINT "po alfavitu" ELSE PRINT " ne po alfavitu"
END IF
Yandex
Объявления
07.05.2011, 01:11
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
MS Access Алфавитный порядок
Подскажите пожалуйста ,как сделать в форме имеется элемент список -как сделать чтобы выбор из него происходил в алфавитном порядке(что надо прописать в сортировке или в условии?) Благодарен за...
MS Access Vitalii197777 31.08.2013 11:46
QBasic Дан массив 4 на 4. Поставить последнюю строку на первое место, не меняя порядок остальных
Добрый день. Помогите, пожалуйста. Дан массив 1,2,3,4,1,2,3,0,1,2,0,0,1,0,0,0. Нужно поставить последнюю строку на первое место, не меняя порядок остальных.
QBasic Maugli 29.01.2012 15:33
Turbo Pascal Алфавитный порядок
Салют народ!!! Меня очень заинтересовала одна задачка, друг сказал, что она элементарная. Но мне почему-то так не кажется(( Учитывая мои мизирные знания Паскале, это вообще конец.... Если кому не...
Turbo Pascal Helton 01.05.2011 15:16
QBasic Изменить порядок элементов массива Х на обратный и заполнить ими массив Y
Задача 5 Выполнить действия над массивами. В таблице при формулировании задания для разъяснения его сути справа отображены примеры исходных Х и результирующих Y массивов с конкретными числами....
QBasic сом 17.10.2010 16:46
QBasic Изменить порядок элементов массива X на обратный и заполнить ими массив Y
Изменить порядок элементов массива X на обратный и заполнить ими массив Y например: X:1 2 3 4 5 6 Y:6 5 4 3 2 1
QBasic Алексей Технома 25.02.2010 23:53
Опции темы

Текущее время: 10:44. Часовой пояс GMT +4.

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