[uquote="veso74",url="/forum/viewtopic.php?p=4467732#p4467732"]Чтобы избежать путаницы в отношении того, что и где выполняется, во-первых, не используйте глобальные и локальные переменные с одинаковыми именами.
Во-вторых, у вас есть функция, которая не возвращает значение (void func(..)). Чего ожидаете от return arrr; не знаю. Разве используемый компилятор не возвращает предупреждение?
Либо заставьте функция возвращать значение, либо для выходного значения используйте, напр. изменение глобальной переменной.[/uquote]
Имена переменных исправил, спасибо
А вот на return надеялся именно так как вы написали. И я получаю результат, который ожидаю.
Компилятор wokwi.com
Добавлено after 11 minutes 2 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4467810#p4467810"]rss-999, агде?[/uquote]
Добавил через analogRead(0), спасибо
Добавлено after 4 minutes 54 seconds:
Нет кнопки правка, вот полный код:
Во-вторых, у вас есть функция, которая не возвращает значение (void func(..)). Чего ожидаете от return arrr; не знаю. Разве используемый компилятор не возвращает предупреждение?
Либо заставьте функция возвращать значение, либо для выходного значения используйте, напр. изменение глобальной переменной.[/uquote]
Имена переменных исправил, спасибо
А вот на return надеялся именно так как вы написали. И я получаю результат, который ожидаю.
Компилятор wokwi.com
Добавлено after 11 minutes 2 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4467810#p4467810"]rss-999, а
Код: Выделить всё
randomSeed() Добавил через analogRead(0), спасибо
Добавлено after 4 minutes 54 seconds:
Нет кнопки правка, вот полный код:
Код: Выделить всё
int i,n,t,r,h,x,f; //Создать массив пинов из 12 чисел
int j; //Создать массив пинов из 12 чисел
int o; // присвоить переменной каждое число из массива
int lenarr; //вычислить длинну массива
int k; //сравнить
int d; //Создать массив без нужного числа
int arr[12];
//int arrr[11];
int randNumber;
#define size 11
unsigned char arrrr[size];
void setup() {
Serial.begin(9600);
randomSeed(analogRead(0));
}
void loop() {
label:
randNumber = random(4, 15);
if (r == randNumber) {goto label;}
r = randNumber;
Serial.print("randNumber=");
Serial.println(randNumber);
func(arrrr);
for (n = 0; n < 11; n++){
Serial.println(arrrr[n]);}
delay(3000);
}
void func(unsigned char* arrr)
{
for (i=0, j=4; i<12; i++){ //Создать массив пинов из 12 чисел
arr[i] = j;
j++;
}
lenarr = sizeof(arr)/sizeof(int); //вычислить длинну массива
for (o = 0; o < lenarr; o++) { // присвоить переменной каждое число из массива
k=arr[o];
if (randNumber != k) { //сравнить
//for (d=0; d<12; d++){ //Создать массив без нужного числа
arrr[d] = k;
d++;
} //if (randNumber != k)
} //for (o = 0; o < lenarr; o++)
return arrr;
}
