Страница: 1 |
Сам я в программировании никакой, но вот проблем: все вы наверное сталкивались с такой вещью, как институтский застой преподов. Т.е. преподавания экономистам, например, турбо бейсика. Зачем он ИМ нужен - непонятно, но пусть все равно парятся. Люди прошу помочь - завтра у моей девушки какой-то зачет и она как настоящий студент дотянула до последнего дня. Если кому не лень поломать(а может для кого-то это только время на набирание ответа :)) голову, ответьте пожалуйста(или запишите ввиде кода). Итак, внимание, вопрос: 1) Дана квадратная матрица. Надо переместить ее строки по возрастанию суммы элементов, лежащих внутри треугольника, образованного 1-ой строкой, поервым столбцом и гл. диагональю. Второй вопрос: 2)Записать на турбо бейсике: F = квадратныйкорень(x*y+a) + квадратныйкорень(t*t * m*m * 1 в степени(x+y) + 1) - 2 * квадратныйкорень(a * b*b - 1). Квадратный корень я записывал в виде: квадратныйкорень(тут значения под ним). Ну и там степень также. Всех ответевших заранее благодарю!
Попробую написать на 2 вопрос, ответ: Dim f as integer f=sqr(x*y+a)+sqr(t*t*m*m*1^(x+y)+1)-2*sqr(a*b*b-1) print f А про матрицы, даже никак незнать, что это такое Попробую ответить на первый вопрос.. Допустим, дана матрица 5x5 такого вида: Если я всё правильно понял, то преобразовать её нужно в такую: Пишем код.. Dim M(5, 5) As Integer 'Существующая матрица 'Не помню уже как в TBasic'е DATA/READ работают, но так точно проглотит.. 'Считаем суммы элементов 'Заполнение новой матрицы 'Находим строчку с наименьшей суммой из тех, что остались 'Заполнение строчки № i новой матрицы Q(b) = -1 'Данная строчка больше не учитывается 'Всё! Новая матрица готова! Напечатаем на экране? (Для досовского Basic'a) Примечание: Если сумма элементов в строке может выйти за пределы 1000000, то это число нужно увеличить. Или придумать другой вариант. Как приятно вспомнить университетский курс вышки.. ) P.S. Возможно, есть способ сделать пример покороче и без условий типа <1000000, но времени не было, поэтому что пришло в голову, то и написал.. Страница: 1 |
Вопрос: ПОМОГИТЕ!!!! ПЛЗ!!!! ПРОЧТИТЕ!!! ПЛЗ!!! =)
Добавлено: 24.12.03 23:18
Автор вопроса: BadLand | Web-сайт:
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
freeloader
ICQ: 50804884
Вопросов: 72
Ответов: 642
Web-сайт:
Профиль | | #1
Добавлено: 25.12.03 09:28
Номер ответа: 2
Автор ответа:
Maxik
Вопросов: 58
Ответов: 201
Профиль | | #2
Добавлено: 26.12.03 15:10
Матрица, в принципе, тот же массив. Если я ошибся, поправьте меня.
Номер ответа: 3
Автор ответа:
Scuder
ICQ: 143518458
Вопросов: 12
Ответов: 37
Профиль | | #3
Добавлено: 26.12.03 16:40
0 6 1 0 0 (элементов - 5, сумма - 7)
0 2 0 1 1 (элементов - 4, сумма - 3)
3 0 2 1 0 (элементов - 3, сумма - 5)
4 0 1 5 2 (элементов - 2, сумма - 4)
1 0 2 1 1 (элементов - 1, сумма - 1)
1 0 2 1 1
0 2 0 1 1
4 0 1 5 2
3 0 2 1 0
0 6 1 0 0
Dim x As Integer
Dim y As Integer
Dim a As Long
Dim b As Integer
Dim k As Integer
k = 5 'Размер матрицы
Dim N(5, 5) As Integer 'Итоговая матрица
Dim S(5) As Long 'Сумма элементов в строке
Dim Q(5) As Integer
M(1, 1) = 0: M(2, 1) = 6: M(3, 1) = 1: M(4, 1) = 0: M(5, 1) = 0
M(1, 2) = 0: M(2, 2) = 2: M(3, 2) = 0: M(4, 2) = 1: M(5, 2) = 1
M(1, 3) = 3: M(2, 3) = 0: M(3, 3) = 2: M(4, 3) = 1: M(5, 3) = 0
M(1, 4) = 4: M(2, 4) = 0: M(3, 4) = 1: M(4, 4) = 5: M(5, 4) = 2
M(1, 5) = 1: M(2, 5) = 0: M(3, 5) = 2: M(4, 5) = 1: M(5, 5) = 1
For y = 1 To k
For x = 1 To k - y + 1
S(y) = S(y) + M(x, y)
Next x
Next y
For i = 1 To k
a = 1000000 'будем надеяться, что сумма элементов не может превысить этого числа
For y = 1 To k
If S(y) < a And Q(y) <> -1 Then a = S(y): b = y
Next y
For x = 1 To k
N(x, i) = M(x, b)
Next x
Next i
For y = 1 To 5
For x = 1 To 5
Print N(x, y);
Next x
Print
Next y