Сформировать новый массив 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]);

Объяснение кода листинга программы

В этом коде выполняется следующая последовательность действий:

  1. Создаются два массива: A и B, а также два дополнительных массива: fin и i_fin.
  2. Задаются начальные значения для переменных i и j, которые будут использоваться в циклах.
  3. Два вложенных цикла выполняются 55 раз (внешний цикл) и 13 раз (внутренний цикл).
  4. В каждой итерации внутреннего цикла выполняется проверка: если значение элемента массива a[i] совпадает со значением элемента массива fin[j], то значение элемента массива fin[i] присваивается элементу массива b[i].
  5. После завершения циклов, в массиве b содержатся копии некоторых элементов массива a, которые были скопированы из массива fin.
  6. Выполняется печать значения каждого элемента массива b.
  7. Дополнительно, можно выполнить печать значения каждого элемента массива b, если это необходимо. Сформированный массив B содержит те элементы массива A, которые были скопированы из массива fin.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы