Giúp tìm lỗi trong code

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;
}
1 Like

Bị gì thì mô tả cụ thể vấn đề và ngữ cảnh.
Đừng đặt tiêu đề và mô tả vấn đề chung chung như thế (lỗi).

6 Likes

Nội dung topic không rõ ràng.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?