Прошу помощи в написании 2-х маленьких программок в QBasic`e. Буду очень благодарна. - форум программистов и не только - компьютерные программы - бесплатно
04 Май 2006 Чт 01:45 Прошу помощи в написании 2-х маленьких программок в QBasic`e. Буду очень благодарна.
Прошу помощи! Завтра, т.е. уже сегодня, сдавать работу в Quick Basic, а я ни на одной лекции не была, да и на практике тоже. Спасите, умоляю!
Нужно нарисовать блок-схемы, а сами программки записать на листочке.
1. (Одномерный массив)
В массиве Х, состоящем из N элементов, определить порядковые имена:
а) нулевых элементов;
б) элементов больше заданного числа М.
2. (Двумерный массив)
В двумерном массиве В (N строк, М столбцов) поменять местами элементы столбца К с элементами столбца М.
Кому не составит труда помочь мне хотя бы с самими программками (без блок-схем) буду очень благодарна. Как-нибудь рассчитаемся
04 Май 2006 Чт 09:44 Прошу помощи в написании 2-х маленьких программок в QBasic`e. Буду очень благодарна.
писал на VBA, так что на счет некоторых строк не уверен подойдут ли для QB.
код полностью проверен, на VBA полностью работает.
2. (Двумерный массив)
В двумерном массиве В (N строк, М столбцов) поменять местами элементы столбца К с элементами столбца М.
Const N As Byte = 9 'декларируем число строк (QB???)
Const M As Byte = 9 'декларируем число столбцов (QB???)
Dim B(N, M) As Byte 'декларируем массив
Const K As Byte = 7 'декларируем номер строки, которую надо менять
Dim f As Byte 'декларируем счетчик цикла по строкам
Dim g As Byte 'декларируем счетчик цикла по столбцам
Randomize 'сбиваем генератор случайных чисел
For f = 0 To N 'цикл по строкам
For g = 0 To M 'цикл по столбцам
B(f, g) = Rnd * 9 'заполняем массив случайными числами
Next g 'конец цикла по столбцам
Next f 'конец цикла по строкам
Dim TempVariable As Byte 'декларируем временную переменную
For f = 0 To N 'цикл по строкам
TempVariable = B(f, M) 'забиваем значения элементов столбца М во временную переменную
B(f, M) = B(f, K) 'забиваем в столбец М значения столбца К
B(f, K) = TempVariable 'забиваем столбец К значениями временной переменной
Next f 'конец цикла по строкам
1. (Одномерный массив)
В массиве Х, состоящем из N элементов, определить порядковые имена:
а) нулевых элементов;
б) элементов больше заданного числа М.
Const N As Byte = 20 'декларируем размер массива (QB???)
Dim X(N) As Byte 'декларируем массив
Dim M As Byte 'декларируем переменную М
M = 8 'устанавливаем значение переменной
Dim f As Byte 'декларируем счетчик цикла
Randomize 'сбиваем генератор случайных чисел
For f = 0 To N 'цикл
X(f) = Rnd * 15 'заплоняем массив случайными числами
Next f 'конец цикла
Dim Zero_Elements_Counter As Byte 'декларируем счетчик элементов равных нулю
Zero_Elements_Counter = 0
Dim Zero_Elements() As Byte 'декларируем массив элементов равных нулю
Dim More_M_Elements_Counter As Byte 'декларируем счетчик елементов больше М
More_M_Elements_Counter = 0
Dim More_M_Elements() As Byte 'декларируем массив элементов больше М
For f = 0 To N 'цикл
If X(f) = 0 Then 'если елемент массива равен нулю, то
Zero_Elements_Counter = Zero_Elements_Counter + 1 'увеличиваем счетчик элементов равных нулю
ReDim Preserve Zero_Elements(Zero_Elements_Counter) 'меняем размерность массива
Zero_Elements(Zero_Elements_Counter) = f 'забиваем массив
End If
If X(f) > M Then
More_M_Elements_Counter = More_M_Elements_Counter + 1 'увеличиваем счетчик элементов больше М
ReDim Preserve More_M_Elements(More_M_Elements_Counter) 'меняем размерность массива
More_M_Elements(More_M_Elements_Counter) = f 'забиваем массив
End If
Next f 'конец цикла
13 Май 2006 Сб 05:18 Прошу помощи в написании 2-х маленьких программок в QBasic`e. Буду очень благодарна.
Хотел написать на Visual Basice (6-й русифицированный, без хелпа) программу, чтобы перемещаться по папкам и при нажатии на кнопку, все файлы из текущей папки с расширениями "txt" и "doc" копировались бы в папку d:\hmm3rulez. Понял, что не смогу и стал писать, чтобы хотя бы один файл, на который я покажу копировался бы. Но тут возникли вопросы: 1). Почему иногда при копировании файлы копируются, но в папке d:\hmm3rulez оказываются пустыми (нулевого размера)? 2). Почему иногда при копировании файлы не копируются, а появляется ошибка: "Ошибка во время выполнения программы '53'"? 3). Почему при переходе на диск "С:" ВСЕГДА появляется 53-я ошибка?
Фрагмент программы:
Public TinyFileName As String
Dim PathSearch As String
Dim FileName As String
Dim DiskName As String
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub Drive1_Change()
DiskName = Drive1.Drive
Dir1.Path = DiskName
File1.Path = Dir1.Path
End Sub
Private Sub File1_Click()
TinyFileName = File1.FileName
FileCopy TinyFileName, "d:\hmm3rulez\" & TinyFileName
End Sub