C++: Nhập các phần tử của mảng 1 chiều, xuất ra phần tử của mảng thuộc dãy Fibonacy

suphukaman

New member
Xu
0
Điên đầu với bài này. Ở bài này, nếu mình nhập giá trị cho phần tử thứ nhất là 1 (các phần tử sau khác 1) thì nó sẽ xuất ra là : 1 và các số khác thuộc fibonaci (khác 1). Nhưng nếu nhập 1 vào phần tử thứ nhất và nhập 1 vào bất kỳ các phần tử sau thì nó sẽ xuất ra: 1 (đầu tiên) và các phần tử thuộc fibonaci (khác 1 @@). Nghĩa là từ phần tử thứ 2 trở đi nếu nhập là 1 thì nó không chịu xuất 1, phải là phần tử đầu tiên nhập 1 nó mới xuất. Các bạn xem qua code của mình nè, sai chỗ nào chỉ gấp cái nhé. Mà nói chung nó bị lỗi lúc xuất, lúc không xuất, chắc sai code @@
-------------------------------

#include<iostream>
using namespace std;
void main ()
{


int a[100],n,max,f1 = 0,f2 = 1,fi;


cout<<"Nhap vao so luong phan tu mang\n";
cin>>n;
while (n <= 0);


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


cout<<"Gia tri thu "<<i + 1<<"\n";
cin>>a;


}


cout<<"\n";

cout<<"Phan tu trong mang thuoc day Fibonacy la: \n";


for (int j = 0 ; j < n ; j++)
{
max = a[0];
if (max < a[j]) max = a[j];
do
{
fi = f1 + f2;
f1 = f2;
f2 = fi;
if (a[j] == fi) cout<<a[j]<<" ";
}
while (fi < max);
}


cout<<"\n";


}






-----------------------
 
Bài nay mình thấy có ý tưởng này, tìm max của các phần tử nhập vào, cho số fibonasi chạy tới max thôi là dò ra :D. Đỡ nặng máy
 

VnKienthuc lúc này

Không có thành viên trực tuyến.

Định hướng

Diễn đàn VnKienthuc.com là nơi thảo luận và chia sẻ về mọi kiến thức hữu ích trong học tập và cuộc sống, khởi nghiệp, kinh doanh,...
Top