Сформировать новый массив B так, чтобы в него вошли те элементы массива A - C (СИ)
Формулировка задачи:
В массиве A[55] лежат целые числа. Сформировать новый массив B таким образом, чтобы в него вошли те элементы массива A, которые являются числами Фибоначчи (1,2,3,5,8,13,...)
Помогите со второй частью программы. не могу решить.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
int a[55],b[55],i,j,p;
printf("\n Massiv a \n\n");
for(i=0; i<55; i++)
{
a[i]=rand()%100;
printf("%d ",a[i]);
}
int fin[19];
fin[0]=1; fin[1]=2;
for(i=2; i<19; i++)
{
fin[i]=fin[i-2]+fin[i-1];
}
printf("\n Chisla Fibonacci: \n\n");
for(i=0; i<19; i++) { printf(" %d",fin[i]); }
printf(" ...\n\n");
for(i=0; i<55; i++)
{
for(j=0; j<13; j++)
{
if (a[i]=fin[j]) b[i]=fin[i];
}
//printf(" %d",b[i]);
}
//printf("\n\n") ;
//for(i=0; i<13; i++)
// printf(" %d",b[i]);
getch();
}Решение задачи: «Сформировать новый массив B так, чтобы в него вошли те элементы массива A»
textual
Листинг программы
for(i=0; i<55; i++)
{
for(j=0; j<13; j++)
{
if (a[i]=fin[j]) b[i]=fin[i];
}
//printf(" %d",b[i]);
}
//printf("\n\n") ;
//for(i=0; i<13; i++)
// printf(" %d",b[i]);
Объяснение кода листинга программы
В этом коде выполняется следующая последовательность действий:
- Создаются два массива: A и B, а также два дополнительных массива: fin и i_fin.
- Задаются начальные значения для переменных i и j, которые будут использоваться в циклах.
- Два вложенных цикла выполняются 55 раз (внешний цикл) и 13 раз (внутренний цикл).
- В каждой итерации внутреннего цикла выполняется проверка: если значение элемента массива a[i] совпадает со значением элемента массива fin[j], то значение элемента массива fin[i] присваивается элементу массива b[i].
- После завершения циклов, в массиве b содержатся копии некоторых элементов массива a, которые были скопированы из массива fin.
- Выполняется печать значения каждого элемента массива b.
- Дополнительно, можно выполнить печать значения каждого элемента массива b, если это необходимо. Сформированный массив B содержит те элементы массива A, которые были скопированы из массива fin.