Как написать функцию заполняющую массив числами Фибоначчи?
Проблема возможно простая, но я честно не понимаю как ее решить. Нужно написать функцию voidfibArray(int *fib, int len) которая заполняет массив fib размерности len числами Фибоначчи. Я попытался написать программу на Си, которая выполняет данную задачу. Несмотря на то, что компилятор реагирует нормально и ошибок не выдает, на этапе ввода в консоль ничего не происходит. Прикладываю свой код(не судите строго, в Си новичок):
#include <stdio.h>
#include <stdlib.h>
void fibArray(int *fib, int len){
if(len<2){
return 1;
}
else{
int i;
for(i=0;i<len;i++){
printf("fib[%d] = ", i);
fib[i] = fib[i-1]+fib[i-2];
printf("%d\n", fib[i]);
}
}
}
#define LEN 10
int main(){
int fib[LEN];
fibArray(fib,LEN);
printf("%d\n", fibArray(fib,LEN));
rerutn 0;
}
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
void fibArray(int *fib, int len)
{
if (len > 0) fib[0] = 1;
if (len > 1) fib[1] = 1;
for(int i = 2; i < len; i++)
{
fib[i] = fib[i-1]+fib[i-2];
printf("fib[%d] = %d\n", i, fib[i]);
}
}
Хотя выводить и считать в одной функции не очень хорошее решение.