Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 21.04.2018
Сообщений: 17

Циклический сдвиг компонент вектора влево на одну позицию

23.04.2018, 21:46. Показов 2248. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан вектор Х={X1,X2...,Xk}. Осуществить циклический сдвиг компонент этого вектора влево на одну позицию, то есть получить вектор Х={X2, X3..., Xk, X1}.
В программе TurboBasic
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.04.2018, 21:46
Ответы с готовыми решениями:

Осуществите циклический сдвиг компонент заданного вектора
одномерные массивы .начертить схему насси шнейдермана и напишите программу на языке qbasic. осуществите циклический сдвиг компонент...

Осуществите циклический сдвиг кампонентзаданного вектора
Начертите схему Нэсси-шнейдерманаи напишите программуна языке QBASIC.Осуществите циклический сдвиг кампонентзаданного вектора A(N) A=(an-1,...

Дан массив B(N). Удалить из него минимальный элемент и сдвинуть все оставшиеся елементы на одну позицию влево.
Дан массив B(N). Удалить из него минимальный элемент и сдвинуть все оставшиеся елементы на одну позицию влево. Помогите пожалуйст...

11
Заблокирован
23.04.2018, 23:24
TurboBasic
MaxPower55, так и скажи - ничего сам делать не буду, разжуйте мне и в рот положите.
0
0 / 0 / 0
Регистрация: 21.04.2018
Сообщений: 17
23.04.2018, 23:49  [ТС]
Просто не шарю. Думал тут помогут
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
24.04.2018, 01:50
MaxPower55,
Вектор - это одномерный массив, допустим имеем вектор X={1, 2, 3}
Значит надо завести массив, приведу пример массива из трёх элементов:

QBasic/QuickBASIC
1
2
n = 3
DIM X(1 TO n) AS INTEGER
Для произвольного кол-ва элементов просто делаем ввод, т.е.

QBasic/QuickBASIC
1
2
CLS: INPUT "Vvedi razmernost: ", n
DIM X(1 TO n) AS INTEGER
Ввод данных в массив делаем циклом:
QBasic/QuickBASIC
1
2
3
FOR i = 1 TO n
   PRINT "  Vvedi element"; i; : INPUT ": ", X(i)
NEXT
Циклический сдвиг влево означает, что там где было 1 - должно быть 2, там где было 2 соотв - 3,
а там где 3 - должно быть 1.

Т.е. нам нужно запомнить первый элемент, прогнать циклом от 1 до n - 1 кол-ва элементов,
приравнивая текущему следующий, а потом поставить тот элемент, который мы запомнили в конец.

QBasic/QuickBASIC
1
2
3
4
5
6
7
MEM = X(1)
 
FOR i = 1 TO n - 1
   X(i) = X(i + 1)
NEXT
 
X(n) = MEM
Ну и чтобы посмотреть результат делаем вывод массива на экран:

QBasic/QuickBASIC
1
2
3
FOR i = 1 TO n
   PRINT "X("; LTRIM$(STR$(i)); ") ="; X(i)
NEXT

А теперь подумаем какова медвежья услуга, сделанная мной, когда берёшь готовое
решение мозг деградирует, т.е. он даже не стоит на месте, он именно деградирует,
потому что такова суть человеческой психологии. И ладно бы эта задача действительно
была невероятно сложная, но ведь просто переставить местами числа, это сродни
тому как дети переставляют детали в лего конструкторе. Тут даже язык знать не
нужно, всего несколько самых базовых операторов используется. Подумайте над этим,
может быть что-нибудь в голове переключится и придёт понимание, что в любом деле
не нужно сразу сдаваться и лучше спросить тех же ребят на форуме, но попытаться
всё таки попробовать самостоятельно.
1
0 / 0 / 0
Регистрация: 21.04.2018
Сообщений: 17
24.04.2018, 09:51  [ТС]
Спасибо большое
0
0 / 0 / 0
Регистрация: 21.04.2018
Сообщений: 17
24.04.2018, 20:24  [ТС]
Выходит ошибка. что сделать?
Миниатюры
Циклический сдвиг компонент вектора влево на одну позицию  
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
24.04.2018, 21:32
Цитата Сообщение от MaxPower55 Посмотреть сообщение
что сделать?
Если программируете в TurboBasic, то прочитать справку по нему, особенно типы переменных, как задаются.
Всё же, вопреки риторическому вопросу
Цитата Сообщение от кот Бегемот Посмотреть сообщение
а чем TurboBasic принципиально отличается от QBasic?
отличия есть. Если QBasic совместим с TurboBasic, то наоборот это работает не всегда.
Например тип переменной определяется типом данных, которые она представляет. Указание типа переменной задается соответствующим знаком после имени - !, $, %, #
Границы массива:
Если нижняя граница индексов в описании не указана, то она считается равной 0.
Используя оператор OPTION BASE n, можно задать нижнюю границу индексов равной n. Например,
Code
1
2
OPTION BASE 1
DIM a(10)
В этом случае индекс элементов массива a будет принимать значения, начиная с 1.
Т.о. эта строчка
QBasic/QuickBASIC
1
DIM X(1 TO n) AS INTEGER
в TurboBasic будет выглядеть несколько иначе.
1
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
24.04.2018, 22:32
MaxPower55, зачем ты два раза X задекларировал. Выкидывай первые две строчки.
Для примера же написал, мол можно так, а можно и так.
Писал код, согласно разделу форума, т.е. QBasic. Другие компиляторы в корневом разделе
и если пишешь сюда с другим - адаптация кода на твоих плечах. У меня нету сейчас TB,
где-то валялся, но лень искать. Открой справку посмотри, как там массивы декларируются,
остальное вроде бы должно без изменений быть.
1
0 / 0 / 0
Регистрация: 21.04.2018
Сообщений: 17
25.04.2018, 20:30  [ТС]
может посмотришь? турбо бесик на винде хп только идет. нужно эмулятор под хп ставить он 2 мб весит DosBox называется. просто сегодня со всеми одногруппниками пытались сделать, не получалось никак. пробовал 2 строки убрать опять эта же ошибка. я могу на карту тебе закинуть 50 за старания . просто преподаватель подзказки никакие не дает
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
25.04.2018, 21:49
Лучший ответ Сообщение было отмечено MaxPower55 как решение

Решение

MaxPower55, какие проблемы? Вот Вам рабочая программа. проверено в ТБ.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
input "vvedite kol-vo elementov: ",n
dim a(n)
for i=1 to n
input "vvedite element: ",a(i)
next
t=a(1)
for i=1 to n-1
a(i)=a(i+1)
next
a(n)=t
for i=1 to n
print a(i);
next
1
0 / 0 / 0
Регистрация: 21.04.2018
Сообщений: 17
25.04.2018, 21:57  [ТС]
спасибо огромное
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
26.04.2018, 00:00
MaxPower55, можно ещё добавить вывод введённого массива на экран:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
input "vvedite kol-vo elementov: ",n
dim a(n)
for i=1 to n
input "vvedite element: ",a(i)
next
print"nachalnyj massiv:"
for i=1 to n
print a(i);
next
print
t=a(1)
for i=1 to n-1
a(i)=a(i+1)
next
a(n)=t
print "itogovyj massiv"
for i=1 to n
print a(i);
next
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.04.2018, 00:00
Помогаю со студенческими работами здесь

Осуществите циклический сдвиг компонент заданного вектора A(N) влево на одну позицию, то есть получите вектор А = (a2 , a3 , ., aN , a1 )
Помогите пожалуйста. Осуществите циклический сдвиг компонент заданного вектора A(N) влево на одну позицию, то есть получите вектор А = ...

Осуществить циклический сдвиг компонент заданного вектора A(N) влево на одну позицию, то есть получить вектор A = ( a2 , a3 , . , aN, a1 ) Как это с
Осуществить циклический сдвиг компонент заданного вектора A(N) влево на одну позицию, то есть получить вектор A = ( a2 , a3 , ... , aN, a1...

Циклический сдвиг элементов массива влево на одну позицию
Дан массив размера N. Осуществить циклический сдвиг элементов массива влево на одну позицию (при этом A перейдет в A , A - в A , ...,...

Циклический сдвиг элементов массива влево на одну позицию
Дан массив размера N. Осуществить циклический сдвиг элементов массива влево на одну позицию (при этом AN перейдет в AN-1, AN-1 - в AN-2, .,...

Осуществить циклический сдвиг элементов массива влево на одну позицию
Помогите, пожалуйста, решить программы на си++, если не решу мне хана, заранее спасибо: Дан массив размера N. Осуществить циклический...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru