Help me ( ngôn ngữ lập trình c++)

Help me ( ngôn ngữ...">

K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

10 tháng 8 2023

Câu 1: Tính số fibonaci thứ N. biết f(1)= 1; f(2) = 1; f(N)=f(N-2)+F(N-1)

 

#include <iostream>

int fibonacci(int n) {

    if (n <= 2) {

        return 1;

    }

    int prev = 1;

    int current = 1;

    int fib;

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

        fib = prev + current;

        prev = current;

        current = fib;

    }

    return fib;

}

int main() {

    int N;

    std::cin >> N;

    int result = fibonacci(N);

    std::cout << "Số Fibonacci thứ " << N << " là: " << result << std::endl;

    return 0;

}

10 tháng 8 2023

Câu 2: Cho dãy a gồm m số nguyên (|ai| <=10), dãy b gồm n số nguyên (bị <=10). 2 dãy này đã được sắp xếp không giảm. Hãy in ra một dãy c có các phần tử gồm 2 dãy số trên cũng được sắp xếp không giảm.

 

#include <iostream>

#include <vector>

std::vector<int> mergeArrays(const std::vector<int>& a, const std::vector<int>& b) {

    std::vector<int> c;

    int i = 0; 

    int j = 0; 

    while (i < a.size() && j < b.size()) {

        if (a[i] <= b[j]) {

            c.push_back(a[i]);

            i++;

        } else {

            c.push_back(b[j]);

            j++;

        }

    }

    while (i < a.size()) {

        c.push_back(a[i]);

        i++;

    }

    while (j < b.size()) {

        c.push_back(b[j]);

        j++;

    }

    return c;

}

int main() {

    int m, n;

    std::cin >> m >> n;

    std::vector<int> a(m);

    std::vector<int> b(n);

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

        std::cin >> a[i];

    }

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

        std::cin >> b[i];

    }

    std::vector<int> c = mergeArrays(a, b);

    std::cout << "Dãy c sau khi sắp xếp không giảm là:" << std::endl;

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

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

    }

    std::cout << std::endl;

    return 0;

}

10 tháng 8 2023

Câu 3: Cho dãy số gồm có N phần tử. Hãy đổi vị trí của phần tử lớn nhất và nhỏ nhất cho nhau. Nếu có nhiều phần tử lớn nhất và nhỏ nhất thì đổi chỗ phần tử lớn nhất có vị trí lớn nhất cho phần tử nhỏ nhất có vị trí nhỏ nhất cho nhau.

 

#include <iostream>

#include <vector>

#include <algorithm>

void swapMinMax(std::vector<int>& arr) {

     int minIndex = std::min_element(arr.begin(), arr.end()) - arr.begin();

     int maxIndex = std::max_element(arr.begin(), arr.end()) - arr.begin();

     std::swap(arr[minIndex], arr[maxIndex]);

}

int main() {

     int N;

     std::cin >> N;

     std::vector<int> arr(N);

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

          std::cin >> arr[i];

     }

     swapMinMax(arr);

     std::cout << "Dãy số sau khi đổi vị trí của phần tử lớn nhất và nhỏ nhất cho nhau là:" << std::endl;

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

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

     }

     std::cout << std::endl;

     return 0;

}

10 tháng 8 2023

2:

#include <bits/stdc++.h>

using namespace std;

int A[100],ln,nn,vt1,vt2,n;

int main()

{

cin>>n;

for(int i=1; i<=n; i++) cin>>A[i];

ln=A[1];

for (int i=1; i<=n; i++)

ln=max(ln,A[i]);

nn=A[1];

for (int i=1; i<=n; i++)

nn=min(nn,A[i]);

vt1=1; vt2=n;

for (int i=1; i<=n; i++)

if (ln==A[i] && vt1<=i) vt1=i;

for (int i=n; i>=1; i--)

if (nn==A[i] && vt2>=i) vt2=i;

swap(A[vt1],A[vt2]);

for (int i=1; i<=n; i++)

cout<<A[i]<<" ";

}

17 tháng 3 2021

2: 

uses crt;

var a:array[1..100]of integer;

n,i:integer;

begin

clrscr;

write('Nhap n='); readln(n);

for i:=1 to n do

begin

write('A[',i,']='); readln(a[i]);

end;

for i:=1 to n do 

  if a[i]<0 then write(i:4);

readln;

end.

17 tháng 3 2021

câu 3 nữa bạn, mình ko hiểu đc câu đó

 

2 tháng 5 2021

Mình chỉ viết được pascal được không?

20 tháng 4 2023

Uses crt;

var n,i,max,min: integer;

a: array[1..100] of longint;

begin clrscr;

readln(n);

for i:=1 to n do read(a[i]); readln;

max:=a[1];

for i:=1 to n do if(max<a[i]) then max:=a[i];

writeln(max);

min:=a[1];

for i:=1 to n do if(min>a[i]) then min:=a[i];

writeln(min);

readln;

end.

9 tháng 8 2023

3:

#include <bits/stdc++.h>

using namespace std;

int A[100],i,n,x,kt;

int main()

{

cin>>n;

for (int i=1; i<=n; i++) cin>>A[i];

cin>>x;

kt=0;

for (int i=1; i<=n; i++)

if (A[i]==x) then kt=1;

if (kt==0) cout<<"NO";

else 

{

for (int i=n; i>=1; i--)

if (A[i]==x) 

{

cout<<A[i];

return 0;

}

}

return 0;

}

4:

#include <bits/stdc++.h>

using namespace std;

int A[100],i,n;

int main()

{

cin>>n;

for (int i=1; i<=n; i++)

cin>>A[i];

sort(A+1,A+n+1);

for (int i=1; i<=n; i++)

cout<<A[i]<<" ";

return 0;

}

29 tháng 4 2021

uses crt;

var a:array[1..100] of integer;

max,n,i:integer;

begin

writeln('nhap do dai cua day');readln(n);

for i:=1 to n do begin writeln('A[',i,']=;);readln(a[i]); end;

max:=a[1];

for i:=2 to n do if a[i] > max then begin

max:=a[i]; writeln('vi tri cua max trong day la',i);end;

 readln

end.

thật ra thì cũng không cần biến max nhưng mình làm vậy cho dễ hiểu hơn nhé!

29 tháng 4 2021

*Thuật toán:

-Bước 1: Nhập n và nhập dãy số

-Bước 2: max←a[1]; i←1;

-Bước 3: i←i+1;

-Bước 4: Nếu max<a[i] thì max←a[i];

-Bước 5: Nếu i<=n thì quay lại bước 3

-Bước 6: Cho for chạy từ 1 đến n

Nếu a[i]=max thì xuất i

-Bước 7: Kết thúc