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

Найти минимальный элемент массива А(20) и записать вместо него число 50

17.04.2019, 14:10. Показов 2318. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть задача "Найти минимальный элемент массива А(20) и записать вместо него число 50."
Есть мой вариант решения:
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
DIM A(20)
min = A(0)
N = 0
FOR i = 0 TO 20
    IF A(i) <= min THEN N = i
NEXT
A(N) = 50
PRINT "A=", A(N)
PRINT "End"
END
Хотел бы узнать правильно ли я все написал)
И как мне показать число которое он заменил?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.04.2019, 14:10
Ответы с готовыми решениями:

Найти минимальный элемент массива и вставить вместо него 0
одномерный массив. найти минимальный элемент и вставить вместо него 0

Найти минимальный по значению элемент и записать его на начало массива, высвободив для него место путем смещ
Генерировать значения элементов одномерного массива с помощью генератора псевдослучайных чисел, введя количество элементов массива с...

Найти минимальное число и записать вместо него число N2+N
Ввести в память машины одномерный целочисленный массив, размерностью не более 50 элементов. 1. Найти минимальное число и записать...

6
1104 / 480 / 33
Регистрация: 05.07.2018
Сообщений: 1,870
Записей в блоге: 7
17.04.2019, 14:49
Уважаемый KpyAcaH,
вот программа решающая вашу задачу. У вас было сделано пара крупных ошибок.
1. вы задали массив, но не заполнили его
2. ваша программа не искала минимум
примечание:
вообще говоря в массиве может быть несколько минимумов (программа находит первый по счету минимум и заменяет его на число 50)

QBasic/QuickBASIC
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
CLS
RANDOMIZE TIMER
DIM A(20)
 
FOR i = 0 TO 20
   A(i) = INT(40 * RND) - 20
   PRINT A(i);
NEXT
PRINT
 
min = A(0)
N = 0
 
FOR i = 0 TO 20
   IF min > A(i) THEN
      min = A(i)
      N = i
   END IF
NEXT
A(N) = 50
 
FOR i = 0 TO 20
   PRINT A(i);
NEXT
PRINT
PRINT "END"
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
17.04.2019, 14:53
Не обязательно начинать подсчёт элементов с 0, лучше с 1, иначе у Вас будет 21 элемент вместо 20. Просто вместо min=A(0) напишите min=A(1) и в цикле начинайте с 1
For i=1 to 20
Чтобы показать заменённое число, сначала напечатайте его
Print “zamenili chislo “;A(n)
а потом заменяйте
А(n)=50
И в цикле распечатывайте новый массив
For i=1 to 20
Print a(i);
next
Команда print”End” лишняя
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
17.04.2019, 18:46
Цитата Сообщение от кот Бегемот Посмотреть сообщение
Не обязательно начинать подсчёт элементов с 0, лучше с 1, иначе у Вас будет 21 элемент вместо 20.
Вот эту фразу не понял. В задании написано
Цитата Сообщение от KpyAcaH Посмотреть сообщение
Найти минимальный элемент массива А(20)
Т.о. задан массив из 21 элемента. Почему можно проверять только 20 элементов? А если минимальный элемент именно в прячется в нулевом индексе массива?
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
17.04.2019, 19:29
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Т.о. задан массив из 21 элемента
Немного не точно. Выделено место для 21 элемента, включая нулевой. Но нигде не указано, что элементов будет ровно 21, их может быть и 15. Но круглое число 20 подсказывает, что речь идёт именно о 20 элементах.
Формально Вы правы, конечно, но как-то ни разу за много лет я не видел задачу "найти минимальный элемент массива из 21 элемента", а 20 - сплошь и рядом. Число круглое.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
18.04.2019, 05:56
Цитата Сообщение от кот Бегемот Посмотреть сообщение
Но круглое число 20 подсказывает, что речь идёт именно о 20 элементах.
Как то неубедительно, тут же в задании явно указана размерность массива A(20).
Если бы задание звучало таким образом:
"Найти минимальный элемент массива из 20 элементов"
или так
"Найти минимальный элемент массива A(1 TO 20)"
то Вы были бы совершенно правы.
Возможно Вы правы и сейчас, исходя из Вашего опыта и интуиции, но не технически.
1
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
18.04.2019, 09:28
Это просто глупо сформулированное задание.
Представьте себе как глупо оно будет звучать в другой формулировке и Вам всё станет ясно:
«Найти минимальный элемент массива из 21 элемента»

Что это за странный массив? Почему 21, а не 23? Объяснения нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.04.2019, 09:28
Помогаю со студенческими работами здесь

Найти минимальное число и вместо него записать значение N2
Найти минимальное число и вместо него записать значение N2.

Найти минимальный элемент массива Х[K], сменить у него знак и переместить в конец массива
Найти минимальный элемент массива Х, сменить у него знак и переместить в конец массива. Помогите пожалуйста с масивами этими) я в...

Найти минимальный по модулю не нулевой элемент и заменить на него нулевые элементы массива
Длина массива должна быть введена в ручную, границы чисел Найти минимальный по модулю не нулевой элемент и заменить на него нулевые...

Записать элементы массива X, удовлетворяющие условию в массив Y; найти минимальный элемент массива X
4. Записать элементы массива X, удовлетворяющие условию Х, подряд в массив Y =. Определить минимальный элемент массива X.

Найти минимальный элемент массива, умножить на него все отрицательные элементы, стоящие слева
Вообщем условие такое: Среди отрицательных элементов массива найти минимальный, умножить на него все отрицательные элементы стоящие левее...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru