Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
Nguyễn Cảnh Hùng
Xem chi tiết
Đỗ Ngọc Trinh
5 tháng 10 2018 lúc 15:44

Đáp án C

Hiền Phạm
Xem chi tiết
Nguyễn Lê Phước Thịnh
9 tháng 1 2022 lúc 15:00

#include <bits/stdc++.h>

using namespace std;

long long a[8],n,i,j;

int main()

{

n=8;

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

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

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

if (a[i]<a[j]) swap(a[i],a[j]);

for (i=1; i<=n; i++) cout<<a[i]<<" ";

return 0;

}

Minh Lệ
Xem chi tiết
Thanh An
18 tháng 7 2023 lúc 21:11

THAM KHẢO!

1.Thuật toán sắp xếp chèn (Insertion Sort):

def insertion_sort(arr):

  for i in range(1, len(arr)):

   key = arr[i]

   j = i - 1

   while j >= 0 and arr[j] > key:

    arr[j + 1] = arr[j]

    j -= 1

   arr[j + 1] = key

  return arr

A = [5, 8, 1, 0, 10, 4, 3]

sorted_A = insertion_sort(A)

print("Dãy A sau khi sắp xếp chèn:", sorted_A)

2. Thuật toán sắp xếp chọn (Selection Sort):

def selection_sort(arr):

  for i in range(len(arr)):

   min_idx = i

   for j in range(i + 1, len(arr)):

    if arr[j] < arr[min_idx]:

     min_idx = j

   arr[i], arr[min_idx] = arr[min_idx], arr[i]

  return arr

A = [5, 8, 1, 0, 10, 4, 3]

sorted_A = selection_sort(A)

print("Dãy A sau khi sắp xếp chọn:", sorted_A)

3.Thuật toán sắp xếp nổi bọt (Bubble Sort):

def bubble_sort(arr):

  n = len(arr)

  for i in range(n - 1):

   for j in range(n - 1 - i):

    if arr[j] > arr[j + 1]:

     arr[j], arr[j + 1] = arr[j + 1], arr[j]

  return arr

A = [5, 8, 1, 0, 10, 4, 3]

sorted_A = bubble_sort(A)

print("Dãy A sau khi sắp xếp nổi bọt:", sorted_A)

Minh Lệ
Xem chi tiết
Time line
19 tháng 8 2023 lúc 9:15

Tham khảo:

Các bước thiết kế như trên cần thay đổi như sau:

def Insertionsort(A):

 n=len(A)

 for i in range(1,n):

  value=A[i]

 j=i-1

 while j>=0 and A[j]<value:

  A[j+1]=A[j]

  j=j-1

 A[j+1]=value

hà my
Xem chi tiết
hà my
Xem chi tiết
hà my
Xem chi tiết
Trương Huy Hoàng
13 tháng 12 2023 lúc 22:50

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll a[]={10,2,5,12,20,6,8,15,18}; //mảng đã cho
    ll n=sizeof(a)/sizeof(a[0]); //độ dài mảng
    sort(a,a+n); //sắp xếp mảng
    //Thuật toán tìm kiếm nhị phân
    ll l=0, r=n-1;
    while(l<=r) {
        ll mid=(l+r)/2; //Tìm phần tử giữa left và right
        if(a[mid]<15) l=mid+1; //Vì từ đoạn [0,mid] thì phần tử nhỏ hơn 15 nên ta duyệt từ khoảng (mid,r]
        else r=mid-1; //vì thấy nên rút r để thu hẹp phạm vi
    }
    cout << l+1; //in ra kq (vì bắt đầu từ 0 đến n-1 nên phải tăng thêm để ra vị trí đúng)
}

(Bạn có thể dựa vào code mình để rút ra các bước)

Chúc bạn học tốt!

Trịnh Long
Xem chi tiết
Nguyễn Lê Phước Thịnh
30 tháng 12 2021 lúc 15:29

#include <bits/stdc++.h>

using namespace std;

long long a[1000],i,n;

int main()

{

cin>>n;

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

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

for (i=1; i<=n; i++) cout<<a[i]<<" ";

return 0;

}

Kudo Shinichi
Xem chi tiết
Nguyễn Vũ Tú Nhi
26 tháng 4 2017 lúc 21:56

Kudo Shinichi đúng đấy

Kudo Shinichi
6 tháng 4 2017 lúc 8:19

41896

Lần1 :      91846  (9,4)

Lần2 :      98146  (8,1)

Lần3 :      98641  (6,1)

23. Dương Tấn Sang 10.7
Xem chi tiết
Nguyễn Lê Phước Thịnh
19 tháng 10 2021 lúc 23:35

#include <bits/stdc++.h>

using namespace std;

long long b[10],i,j,n;

int main()

{

n=10;

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

cin>>b[i];

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

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

if (b[i]<=b[j]) swap(b[i],b[j]);

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

cout<<b[i]<<" ";

return 0;

}