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.

25 tháng 12 2024

Trình bày vài nét về chế độ phân  biệt chủng tộc ở Châu Phi

25 tháng 12 2024

Chương trình C++ sau đây nhập vào số nguyên n và dãy số A1, A2, ..., An, loại bỏ các phần tử giống nhau trong dãy và in ra dãy kết quả sử dụng `std::map`.  Lưu ý rằng `std::map` tự động sắp xếp các khóa (trong trường hợp này là các phần tử của dãy), nên thứ tự các phần tử trong dãy đầu ra có thể khác với dãy đầu vào. Nếu cần giữ nguyên thứ tự, bạn nên sử dụng `std::unordered_map`.

```cpp
#include <iostream>
#include <map>

using namespace std;

int main() {
  int n;
  cout << "Nhập số lượng phần tử n: ";
  cin >> n;

  map<int, int> count; // Sử dụng map để đếm số lần xuất hiện của mỗi phần tử
  int a;

  cout << "Nhập các phần tử của dãy: ";
  for (int i = 0; i < n; ++i) {
    cin >> a;
    count[a]++; // Tăng số lần xuất hiện của phần tử a
  }

  cout << "Dãy sau khi loại bỏ phần tử trùng lặp: ";
  for (auto const& [key, val] : count) {
    cout << key << " "; // In ra các khóa (phần tử duy nhất)
  }
  cout << endl;

  return 0;
}
```

**Giải thích:**

1. **`#include <iostream>`:** Thêm thư viện đầu vào/xuất.
2. **`#include <map>`:** Thêm thư viện `map`.
3. **`map<int, int> count;`:** Khai báo một `map` có khóa là kiểu `int` (phần tử của dãy) và giá trị là kiểu `int` (số lần xuất hiện).
4. **`count[a]++;`:**  Mỗi khi gặp một phần tử `a`, tăng giá trị tương ứng trong `map` lên 1.  Nếu `a` chưa có trong `map`, nó sẽ được thêm vào với giá trị 1.
5. **`for (auto const& [key, val] : count)`:** Duyệt qua `map`. `key` là phần tử của dãy, `val` là số lần xuất hiện.  Chỉ cần in ra `key` để có được dãy không trùng lặp.

**Ví dụ:**

Nếu nhập vào:

`n = 7`
`A = {1, 2, 2, 3, 4, 4, 4}`

Kết quả đầu ra sẽ là:

`Dãy sau khi loại bỏ phần tử trùng lặp: 1 2 3 4 `

**Để giữ nguyên thứ tự:**

Nếu bạn cần giữ nguyên thứ tự các phần tử trong dãy đầu ra, bạn cần sử dụng `std::unordered_map` và một `vector` để lưu trữ các phần tử duy nhất theo thứ tự ban đầu.  Đây là một ví dụ:


```cpp
#include <iostream>
#include <unordered_map>
#include <vector>

using namespace std;

int main() {
  // ... (nhập n và dãy A như trên) ...

  unordered_map<int, int> seen;
  vector<int> unique_elements;

  for (int i = 0; i < n; ++i) {
    if (seen.find(a) == seen.end()) {
      seen[a] = 1;
      unique_elements.push_back(a);
    }
  }

  cout << "Dãy sau khi loại bỏ phần tử trùng lặp (giữ nguyên thứ tự): ";
  for (int element : unique_elements) {
    cout << element << " ";
  }
  cout << endl;

  return 0;
}
```

Phiên bản này sử dụng `unordered_map` để kiểm tra nhanh chóng xem một phần tử đã được gặp trước đó hay chưa và `vector` để lưu trữ các phần tử duy nhất theo thứ tự xuất hiện ban đầu.

11 tháng 5 2022

Em ghi lại cho đúng cái đề nhé

uses crt;

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

i,n,kt,j:integer;

begin

clrscr;

readln(n);

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

for i:=1 to n do 

  if a[i]>1 then 

begin

kt:=0;

for j:=2 to trunc(sqrt(a[i])) do 

  if a[i] mod j=0 then kt:=1;

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

end;

readln;

end.

#include <bits/stdc++.h>

using namespace std;

long long a[1000],n,i;

int main()

{

freopen("dayd.inp","r",stdin);

freopen("dayd.out","w",stdout);

cin>>n;

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

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

if (a[i]>0) cout<<a[i]<<" ";

return 0;

}

#include <bits/stdc++.h>

using namespace std;

long long a[100],n,i,ln,nn,vt1,vt2;

int main()

{

cin>>n;

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

ln=a[1];

nn=a[1];

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

{

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

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

}

cout<<ln<<" "<<nn;

return 0;

}

19 tháng 1 2022

Var n,i,vtl,vtn,so max,min:integer;

Begin

Write('Nhap so luong so = ');readln(n);

vtl:=0;

vtn:=0;

max:=-32768;

min:=32767;

For i:=1 to n do

Begin

Write('Nhap vao so thu ',i);readln(so);

If so > max then

Begin

Max:=so;

vtl:=i;

End;

If so < min then

Begin

Min:=so;

vtn:=i;

End;

Writeln('So lon nhat la ',max,' tai vi tri thu ',i);

Write('So nho nhat la ',min,' tai vi tri thu ',i);

Readln;

End.

#include <bits/stdc++.h>;
using namespace std;
int main()
{
    long i,n;
    float tbc,dem,t,a[10000];
    cin>>n;
    for (i=1; i<=n; i++)
    {
        cin>>a[i];
    }
    dem=0;
    t=0;
    for (i=1; i<=n; i++)
        if (a[i]<0)
    {
        dem=dem+1;
        t=t+a[i];
    }
    tbc=t/dem;
    cout<<fixed<< setprecision(2)<<tbc;
    return 0;
}

 

22 tháng 7 2023

program tong_so_le;

var

     n, i, a_i, tong: integer;

begin

     writeln('Nhap vao so nguyen khong am n:');

     readln(n);

     while (n <= 0) or (n > 100) do

     begin

          writeln('So nguyen n phai thoa man 0 < n <= 100, vui long nhap lai:');

          readln(n);

     end;

     writeln('Nhap vao ', n, ' so nguyen a1, a2, ..., an:','<mỗi số nguyên nhập trên một hàng>');

     tong := 0; // Khởi tạo tổng bằng 0

     for i := 1 to n do

     begin

          readln(a_i);

          if i mod 2 = 1 then

               tong := tong + a_i; 

     end;

     writeln('Tong cac so tai vi tri le trong mang la: ', tong);

end.

#include <bits/stdc++.h>

using namespace std;

long long a[1000],i,n,t1,t2;

int main()

{

cin>>n;

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

t1=0;

t2=1;

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

{

if (a[i]%2!=0) t1+=a[i];

else t2*=a[i];

}

cout<<t1<<endl;

cout<<t2<<endl;

return 0;

}

const fi='divk.inp';

fo='divk.out';

var f1,f2:text;

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

i,n,k,dem,j,x,t:integer;

begin

assign(f1,fi); reset(f1);

assign(f2,fo); rewrite(f2);

readln(f1,n,k);

for i:=1 to n do 

  read(f1,a[i]);

dem:=0;

for i:=1 to n do 

  for j:=1 to n do 

begin

if i<j then 

begin

t:=0;

for x:=i to j do 

  t:=t+a[x];

if t=k then inc(dem);

end;

for i:=1 to n do 

  if k=a[i] then inc(dem);

writeln(f2,dem);

close(f1);

close(f2);

end.

15 tháng 10 2022

#include <bits/stdc++.h>
using namespace std;
#define nhungcute ios_base::sync_with_stdio; cin.tie(0); cout.tie(0);
const int N=1500;
long long n,k,a[N],i,j,c[N][101];
int main(){
nhungcute
    cin>>n>>k;
    for(i=1;i<=n;i++)
        cin>>a[i];
    for(i=1;i<=n;i++){
        a[i]=a[i]%k;
    }
    for(i=1;i<k;i++)
    c[1][i] =-1e9;
    c[1][a[0]]=0;
    c[1][a[1]]=1;
    for(i=2;i<=n;i++){
        for(j=0;j<k;j++){
        c[i][j]=max(c[i-1][j],c[i-1][(j-a[i]+k)%k]+1);
        }
    }
    cout<<c[n][0];
    return 0;
}

 

9 tháng 5 2023

Var a:array:[1..1000] of real;

i,n,max,min,s:real;

Begin

Write('n = ');readln(n);

For i:=1 to n do

Begin

Write('Nhap so thu ',i,' = ');readln(a[i]);

End;

max:=a[1];

min:=a[1];

For i:=2 to n do

Begin

If a[i] > max then max:=a[i];

If a[i] < min then min:=a[i];

End;

Write('Cac so vua nhap la ');

for i:=1 to n do write(a[i]:10:2):

Writeln;

Writeln('Tong la ',s:10:2);

Writeln('So nho nhat la ',min:10:2);

Write('So lon nhat la ',max:10:2);

Readln

End.

27 tháng 5 2023

var
  Mang: array[1..100] of Integer;
  N, i, Tong, Min, Max: Integer;

begin
  // Yêu cầu nhập độ dài của dãy số từ bàn phím
  Write('Nhap do dai cua day so: ');
  ReadLn(N);

  // Yêu cầu nhập các phần tử của dãy từ bàn phím
  for i := 1 to N do
  begin
    Write('Nhap phan tu thu ', i, ': ');
    ReadLn(Mang[i]);
  end;

  // In ra màn hình các số vừa nhập
  Write('Cac so vua nhap: ');
  for i := 1 to N do
  begin
    Write(Mang[i], ' ');
  end;
  WriteLn;

  // Tính tổng các phần tử của dãy số
  Tong := 0;
  for i := 1 to N do
  begin
    Tong := Tong + Mang[i];
  end;
  WriteLn('Tong cac phan tu cua day so la: ', Tong);

  // Tìm giá trị nhỏ nhất của dãy số
  Min := Mang[1];
  for i := 2 to N do
  begin
    if Mang[i] < Min then
      Min := Mang[i];
  end;
  WriteLn('Gia tri nho nhat cua day so la: ', Min);

  // Tìm giá trị lớn nhất của dãy số
  Max := Mang[1];
  for i := 2 to N do
  begin
    if Mang[i] > Max then
      Max := Mang[i];
  end;
  WriteLn('Gia tri lon nhat cua day so la: ', Max);

  ReadLn;
end.