Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Petro29
197 / 8 / 3
Регистрация: 30.04.2016
Сообщений: 611
1

Упорядочить по алфавиту

25.12.2018, 15:05. Просмотров 1078. Ответов 8
Метки нет (Все метки)

Дан массив из 4 четырёхбуквенных русских слов существительных и нарицательных), в единственном числе,
в именительном падеже. Упорядочить их по алфавиту.
QBasic/QuickBASIC
1
2
3
4
5
 CLS
DIM A$(4)
DATA "Стол","Клуб","Цепь","Табу"
   READ Стол$, Клуб$, Цепь$, Табу$
 PRINT A$(6)
После чего выскочило это окошко:
QBasic/QuickBASIC
1
2
Ожидается:   переменная
<   OK   >         <    Справка    >
И что с ним делать? И как вообще выполнить
такую программу?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2018, 15:05
Ответы с готовыми решениями:

Упорядочить слова по алфавиту
Дан массив из 6 четырёхбуквенных русских слов существительных и нарицательных), в единственном...

Упорядочить строки по алфавиту
Добрый вечер. Вопрос по двум задачам. Первая это необходимо написать программу для открытия файла...

Упорядочить буквы массива по алфавиту
Дан массив из 6 четырёхбуквенных русских слов существительных и нарицательных), в единственном...

упорядочить по алфавиту
здравствуйте всем!помогуте пожалуйста решить задачу: дана фраза на английском языке из...

8
кот Бегемот
Платежеспособный зверь
8622 / 4040 / 1576
Регистрация: 28.10.2009
Сообщений: 10,714
26.12.2018, 19:24 2
У Вас переменные записаны русскими буквами, вот программа и ждёт нормальных переменных. И вообще всегда слово «ожидается» указывает на ошибку в программе
0
Petro29
197 / 8 / 3
Регистрация: 30.04.2016
Сообщений: 611
03.01.2019, 15:26  [ТС] 3
Текст её задан как в оригинале:
271: Дан массив из 13 четырёхбуквенных русских слов
(существительных и нарицательных), в единственном числе,
в именительном падеже. Упорядочить их по алфавиту.
(правда, массив урезан до 4-х русских слов)
QBasic/QuickBASIC
1
2
3
4
CLS
DIM A$(6)
DATA "Стол", "Клуб", "Цепь", "Табу", "Яйцо"
   READ Стол$, Клуб$, Цепь$, Табу$, Яйцо$
Переменные строки READ приняли жёлтый цвет
и выскочила табличка:
QBasic/QuickBASIC
1
2
                   Ожидается:  переменная
                 <    ОК   >        <    Справка    >
Программа отказала от дальнейшего ввода элементов кода.

А вот Ваш ответ:
У Вас переменные записаны русскими буквами, вот программа
и ждёт нормальных переменных. И вообще всегда слово
«ожидается» указывает на ошибку в программе.

Вы бы разобрались с этим заданием и сделали бы его
должным образом.
Задаются то русские слова. А если их писать английскими
буквами, тогда в задании так и следовало бы написать:
«Массив из английских букв …»
(а как написать английскими буквами русское слово из
четырёх букв – «цепь»)?
0
кот Бегемот
Платежеспособный зверь
8622 / 4040 / 1576
Регистрация: 28.10.2009
Сообщений: 10,714
04.01.2019, 11:02 4
Лучший ответ Сообщение было отмечено Quiet Snow как решение

Решение

А чего там разбираться - проблемы-то нет. Имя переменной и значение переменной - это разные понятия. Грубо говоря, переменная - это коробка, в которую можно положить всё, что угодно: число, цифру, букву, слово русское или английское. А имя переменной - это то, что написано на крышке этой коробки, и это обязательно набор английских букв или букв с цифрами. В коробку с надписью t123$ можно занести слово «Вася», а в коробку с надписью Vasya можно положить число 123, но надпись на коробке не может быть Вася$ или Стол$, надпись должна быть по-английски, а вот заносить значение можно и по-русски.
И вторая ошибка - считывание в массив. Массива у вас нет, есть только его объявление DIM a(6). Почему 6, кстати, если слов всего 4?
Программу исправляем так:
1. Исправляем DIM a$(4)
2. Выбрасываем строку 4, вместо неё пишем:
for i=1 to 4
read a$(i)
next
3. Сортируем массив по возрастанию
4. Выводим массив на экран
0
Petro29
197 / 8 / 3
Регистрация: 30.04.2016
Сообщений: 611
24.03.2019, 10:54  [ТС] 5
Дан массив W$(4, 3), в котором каждая строка состоит
из четырёх символов, составляющих английское слово.
Отсортировать массив таким образом, чтобы слова были
расположены по алфавиту.
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
CLS
DIM A$(4, 3)
DATA Stol, Klub, Zepj, Okno, Rama, Pivo
DATA Gora, Reka, Baza, Dron, Nebo, More
   FOR i = 1 TO 4
   FOR j = 1 TO 3
     READ A$(i, j)
     LOCATE i, j * 64
     PRINT A$(i, j)
   NEXT j, i
Вот такой двумерный массив из слов, написанных
четырьмя английскими буквами.
QBasic/QuickBASIC
1
2
3
Stol     Klub     Zepj
Okno   Rama   Pivo
Gora    Nebo    More
Ответ Бегемота на этот запрос :
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
DIM A$(4, 3)
DATA Stol, Klub, Zepj, Okno, Rama, Pivo
DATA Gora, Reka, Baza, Dron, Nebo, More
   FOR i = 1 TO 4
   FOR j = 1 TO 3
     READ A$(i, j)
PRINT A(I, j); “ “ ;
   NEXT: PRINT: PRINT
    PRINT
FOR k = 1 TO 4
FOR I = 1 TO 3
  FOR j = 2 TO 3
IF A$(k, j) < A$(k, j-1) THEN SWAP A$(k, j), A$(k, j-1)
   NEXT: NEXT: NEXT
   FOR I = 1 TO 4
    FOR j = 1 TO 3
      PRINT A$(j, i); “ “ ;
   NEXT: PRINT: NEXT
На выходе поимели:
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
Stol     Klub    Zepi
Okno   Rama   Pivo
Gora   Reka   Baza
Dron   Nebo   More
 
Klub   Pivo   Reka
Klub   Pivo   Reka
Klub   Pivo   Reka
Klub   Pivo   Reka
Что то здесь не то. Должна быть отсортирована каждая
строка по алфавиту. А получили 4 одинаковых строки из
слов разных строк.
И ещё: По алфавиту – имеется в виду по первым буквам
слов. А если и по следующим буквам слов (как в словарях),
то это, похоже, невыполнимая задача. Ну ладно, этот вариант
оставим до лучших времён.
А пока – слова по алфавиту по первым буквам и для каждой
строки (у нас ведь и для одной строки не получилось).
Ведь тут надо, по видимому, как то использовать числовой
код символов?
0
кот Бегемот
Платежеспособный зверь
8622 / 4040 / 1576
Регистрация: 28.10.2009
Сообщений: 10,714
25.03.2019, 02:13 6
Цитата Сообщение от Petro29 Посмотреть сообщение
QBasic/QuickBASIC
1
PRINT A$(j, i)
Зачем Вы вводите в заблуждение людей? Я этого не писал. Моя программа работает правильно. Научитесь копировать текст.


Будете писать про меня враньё, добавлю Вам ещё минус сотню.
0
Petro29
197 / 8 / 3
Регистрация: 30.04.2016
Сообщений: 611
31.03.2019, 19:20  [ТС] 7
Программа сработала как надо.
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CLS
DIM A$(6)
DATA  Стол,  клуб,  Цепь,  Табу
   FOR I = 1 TO 4
      READ A$(i)
         PRINT “  “; A$(i); “  “;
   NEXT i
    PRINT:  PRINT
   FOR I = 1 TO 4
     FOR j = 2 TO 4
IF A$(j) < A$(j – 1) THEN SWAP A$(J), A$(j – 1)
    NEXT:  NEXT
   FOR I = 1 TO 4
      PRINT “ “; A$(i); “ “;
   NEXT i
На выходе поимели:
QBasic/QuickBASIC
1
2
Стол,  Клуб,  Цепь,  Табу
Клуб,  Стол,  Табу,  Цепь
Но возникло сомнение: вроде бы происходит обмен двух пар, и слова стали по алфавиту.
Изменил ряд слов:
QBasic/QuickBASIC
1
2
Стол,  Клуб,  Атлас,  Табу,  Брак
Атлас,  Брак,  Клуб,  Стол,  Табу
Получил ряд по алфавиту – то что нужно.Как же так? Меняем попарно слова, а получаем по алфавиту? Как это можно объяснить. Вроде бы код символов должен участвовать. А его нет.
0
кот Бегемот
Платежеспособный зверь
8622 / 4040 / 1576
Регистрация: 28.10.2009
Сообщений: 10,714
31.03.2019, 22:11 8
Во-первых:
Зачем код символов, когда можно сравнивать сами символы?
Слова сравниваются по порядку в словаре
Табу>Стол
Клуб>Барак
Арбуз>Азбука
Лоскут>Лоск

Во-вторых:
Это не просто обмен, а сортировка элементов в порядке возрастания, то есть в порядке расстановки в словаре
0
Petro29
197 / 8 / 3
Регистрация: 30.04.2016
Сообщений: 611
07.04.2019, 10:50  [ТС] 9
Виноват! В повторном запросе по теме «Расставить
слова по алфавиту в двумерном массиве» у меня всё
было правильно напечатано. А вот в самой программе –
да, не правильно. В последней печатной строке было
напечатано – PRINT A$(j j); “ “.
Так что Ваша программа работает как часы!
Только при чём здесь враньё. Это не враньё, а обычная
невнимательность (из-за которой ославил Вас на весь
мир. Китайцы теперь диву даются – как же так кот
Бегемот маху дал!).
А «минус» в мой адрес я положил в копилку – авось
пригодится.
0
07.04.2019, 10:50
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2019, 10:50

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Упорядочить строку по алфавиту
В общем дана строка,состоящая из слов,разделенных через пробел. Надо упорядочить ее по алфавиту....

Записи упорядочить по алфавиту
//#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string&gt; #include...

Как упорядочить по алфавиту
Как упорядочить колонку в таблице по алфавиту?

Упорядочить слова по алфавиту
Упорядочить слова по алфавиту помогите пожалуйста!


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

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

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