Предмет: Информатика, автор: Xneii

Помогите сделать пожалуйста!
Задан массив, заполненный последовательностью из N вещественных чисел. Вычислить
сумму чисел, порядковые номера которых являются числами Фибоначчи.

Ответы

Автор ответа: nazikmuz
1

Відповідь:

Указывайте Язык программирования

С++ code:

#include <iostream>

#include <cstdlib>

#include <time.h>

#include <math.h>

void randarr(float *arr,const int size){

for(int i = 0; i < size; i++){

 arr[i] = float (rand())/RAND_MAX*100;  

}

}

void printarr(float *arr,const int size){

for(int i = 0; i < size; i++){

 std::cout << arr[i] << " ";

}

}

void sumfib(float *arr,const int size){

float sum = 0;

for(int i = 0; i < size; i++){

 if (sqrt(5*(i+1)*(i+1)-4) - int(sqrt(5*(i+1)*(i+1)-4)) == 0 || sqrt(5*(i+1)*(i+1)+4) - int(sqrt(5*(i+1)*(i+1)+4)) == 0){

           std::cout<<"+"<<"\t";

           sum += arr[i];

       }

       else{

 std::cout<<"\t";

 }

 std::cout << i + 1 << "\t" << arr[i] << std::endl;

}

std::cout << "Cумма чисел, порядковые номера которых являются числами Фибоначчи: " << sum << std::endl;

}

int main(){

srand(time(NULL));

setlocale(LC_ALL , "Rus");

int size;

std::cout << "Введите колво чисел в последовательности: ";

std::cin >> size;

float *arr = new float[size];

std::cout << "Последовательность: ";

randarr(arr,size);

printarr(arr,size);

std::cout << "Результат: " << std::endl;

sumfib(arr,size);

delete[] arr;

   

   return 0;

}


Xneii: Нужно сделать одномерным массивом, я не понимаю что значить "randarr, printar"
nazikmuz: Это одномерный массив
nazikmuz: randarr - это пользовательская функция которая заполняет одномерный массив рандомными числами
nazikmuz: printarr - так же пользовательская функция которая выводит одномерный массив в консоль
Похожие вопросы
Предмет: Русский язык, автор: RuzannaAy