![]() |
Массивы
Непредставляю как написать алгоритм для решения етих задач
может кто знает: 1. Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то вывести 0, если нет, то вывести номер первого элемента, нарушающего закономерность. 2. Дан массив A[1..N,1..N]. Составить программу, которая прибавила бы каждому элементу данной строки элемент, принадлежащий этой строке и главной диагонали. |
Ответ: Массивы
1.
Код:
Цикол для i от 0 до N |
Ответ: Массивы
Насчёт второго, типа так что ли?
1 2 3 4 5 | +1 6 7 8 9 0 | +7 7 4 5 1 2 | +5 9 5 4 2 3 | +2 7 9 7 3 2 | +2 |
Ответ: Массивы
Reks888 ахах так просто оказалось:)
а я начал перемножать a[i]*a[i+1] и если равно меньше нуля то продолжаем а если больше нуля то выводим:) И я сам чото не пойму второй задачи, ну написал алгоритм как я его понял завтра папробую здать, надеюсь приймет:) |
Ответ: Массивы
Reks888,
Такой массив не прокатит: {1,2,3,5,6,..} Нужно проверять на модулис (оператор % в си-подобных языках), в BlitzBasic это MOD. Проверяешь на деление по модулю на 2, и если следующий по индексу такойже, значит либо это два чётных, либо два нечётных, в зависимости от результата при делении по модулю. C# код (сори, я тупо забыл блиц): Код:
// цикл для каждого эллемента исключая последний В Блице условное выражение будет что-то типо: Код:
If (A[i] MOD 2)=(A[i+1] MOD 2) {1,4,7,8,9,10,27} Т.к. он подходит под условие что каждый следующий должен быть чётным если предыдущий не чётный, и в точности наоборот. |
Ответ: Массивы
MoKa, посмотри условие первой задачи. В условии нет ничего про четные и нечетные числа, только про собственно знак.
|
Ответ: Массивы
Упс точно. Хе хе.
Тогда поправка: {-5,4,2,-3,6,-7} Такой массив не пройдёт учитывая тот код выше. Тут же нужно проверять примерно таким образом: Уже не помню, позволяет ли блиц получять результат логического выражения в скобках без привязки, если да то такой код прокатит: If (Abs(A[i])=A[i])=(Abs(A[i+1])=A[i+1]) Выражение "(Abs(A[i])=A[i])" проверяет чётное или нет, если чётное то возвратит true, если не чётное то false, т.к. Abs получает модуль числа, который всегда положительный. С таким выражением, массив приведённый сверху не пройдёт проверку. |
Ответ: Массивы
такой массив по-любому не пройдет, хватит чушь нести.
If sgn(a[i])=sgn(a[i+1]) решает все проблемы |
Ответ: Массивы
sgn, угу, не abs.
Нету у меня манеры править предыдущие сообщения.. Зы, сперва думал речь идёт о чётном не чётном, вот и из непонимания напостил.. |
Часовой пояс GMT +4, время: 00:34. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot