Mn oi ai giúp e xem nó bị lỗi gì với ạ e tìm mãi k ra
#include <iostream>
#include <fstream>
#include <string>
#include <cmath>
using namespace std;
fstream f;//dung de doc va ghi file vao tep file
void search( int arr[], int n)//chon ham tim day so nguyen lien tiep co thu tu khong giam dai nhat
//khai bao mang arr co n phan tu
{
f.open("output4.out",ios::out);//mo file output 4
string out,s;//doc du lieu tu file vao string data
s = to_string(arr[0]) + ' ';
for(int i = 1;i < n;++i)
{
if(arr[i] > arr[i - 1]) {
s += (to_string(arr[i]) + ' ');
} else {
if (out < s) {
out = s;
} else {
continue;
}
}
}
f << out << endl;
f.close();//dong file
}
void check(int arr[],int n) //tim so nguyen duong co 3 chu so va cac chu so co thu tu khong giam
{
auto _check = [](int num) { //
string s = to_string(num);
if(s.size() == 3) {
int arr[3];
for(int i = 0;i < 3;++i) {
arr[i] = num % 10;
num /= 10;
}
if(arr[0] >= arr[1] && arr[1] >= arr[2]) {
return true;
}
} else {
return false;
}
return false;
};
f.open("output4.out",ios::out);// xuat du lieu ra file output
for(int i = 0;i < n;i++)
{
if(_check(arr[i]))
{
f << arr[i] << ' ';
}
}
f.close();
}
void prime(int arr[],int n) //ham kiem tra so nguyen to
{
//auto dung de tu dong nhan dang du lieu can tim trong ham
auto _prime = [](int num) {
for(int i = 2;i <= int(sqrt(num));i++) {
if (num % i == 0) {
return false;
}
}
return true;
};
f.open("output4.out",ios::out);
for(int i = 0;i < n;i++) {
if (_prime(arr[i]) == true) {
f << arr[i] << ' ';
}
}
f.close();
}
void menu(int arr[],int n)//ham chon menu xuat ra man hinh
{
int choice;
cout << " nhap lua chon "
<< "\nNhan 1: chon ham tim day so nguyen lien tiep co thu tu khong giam dai nhat \nNhan 2:tim tat ca cac so nguyen duong co 3 chu so va cac chu so co thu tu khong giam \nNhan 3:tim so nguyen to \n";
cout << "--> ";
cin >> choice;
switch(choice) //chon cau can doc
{
case 1 :
search(arr,n);break; //chon ham tim day so nguyen lien tiep co thu tu khong giam dai nhat
case 2 :
check(arr,n);break; //tim tat ca cac so nguyen duong co 3 chu so va cac chu so co thu tu khong giam
case 3 :
prime(arr,n);break;// tim so nguyen to
default:
menu(arr,n);
}
system("start output4.out");//mo lai file output de chon lai
cout << "chon lai(1/0) ";// chon lai an 1 chon 0 se thoat chuong trinh
cin >> choice;
switch(choice) {
case 1:
return menu(arr,n);//an phim 1 chuong trinh quay lai ve ham menu
case 0:
return;//nhan 0 chuong trinh ket thuc
default:
cout << "try again\n";// neu an khac 1 va 0 se thu an lai
return menu(arr,n);
}
}
int main(int argc,char const *argv[])//su ly cac dong lenh thuc hien trong chuong trinh
{
int n;
f.open("input4.inp",ios::in);//mo file input lay du lieu nhap vao
f >> n;
int *arr = new int[n];
for(int i = 0;i < n;++i) {
f >> arr[i];
}
f.close();//dong file
menu(arr,n);
system("pause");
return 0;
}