Tìm Số Chẵn Lớn Nhất/nhỏ Nhất Trong Mảng
Có thể bạn quan tâm
- Sign in / Join
sinhvientot.net
Home Lập trình C/C++ Tìm số chẵn lớn nhất/nhỏ nhất trong mảng Facebook Twitter Pinterest WhatsApp Bài toán: Tìm số chẵn lớn nhất/nhỏ nhất trong mảng số nguyên
Input: mảng a có n phần tử
Xử lý: duyệt mảng, tìm vị trí chẵn đầu tiên trong mạng
Giữ lại vị trí vừa mới tìm được, rồi thoát khỏi vòng lặp
Nếu duyệt hết mảng mà không tìm được số chẵn thì trả về giá trị -1
Nếu tìm được số chẵn thì gán vị trí đó
Duyệt mảng từ vị trí phần tử chẵn đầu tiên + 1 đến hết mảng
Nều là giá trị chẵn và giá trị chẵn lớn hơn/nhỏ hơn giá trị chẵn đầu tiên tìm được thì cập nhật lại giá trị vừa tìm được, duyệt đến hết mảng sẽ tìm được giá trị chẵn lớn nhất/nhỏ nhất
Output: mảng không có giá trị chẵn -1, giá trị chẵn lớn nhất/nhỏ nhất trong mảng
Hàm tìm giá trị chẵn lớn nhất
Ví dụ: n=6
a[0]=5;a[1]=8;a[2]=7;a[3]=23;a[4]=12;a[5]=10
int SoChanLonNhat(int a[], int n) { int i,d,vt; for( i=0 ; i<n ; i++ ) if( a[i]%2==0) // 8 chia het cho 2 { d=i; // d=1 break; // thoat khoi lenh } if(i==n) return -1; // trong mang khong co gia tri chan vt=d; for( i=d+1 ; i<n ; i++ ) // i=2;i<6;i++ if(a[i]%2==0 && a[i]>a[vt]) // a[4]%2==0 && a[4]>a[1]; a[5]%2==0 && a[5]<a[4] vt=i; // vt=4 return a[vt]; // tra ve gia tri la: 12 }Hàm tìm giá trị chẵn nhỏ nhất
int SoChanNhoNhat(int a[], int n) { int i,d,vt; for( i=0 ; i<n ; i++ ) if( a[i]%2==0) // 8 chia het cho 2 { d=i; // d=1 break; // thoat khoi lenh } if(i==n) return -1; // trong mang khong co gia tri chan vt=d; for( i=d+1 ; i<n ; i++ ) // i=2;i<6;i++ if(a[i]%2==0 && a[i]<a[vt]) // a[4]%2==0 && a[4]>a[1]; a[5]%2==0 && a[5]>a[1] vt=i; // vt=1 return a[vt]; // tra ve gia tri la: 8 }Chương trình tìm giá trị lớn nhất/nhỏ nhất trong mảng
#include<stdio.h> #include<conio.h> #define MAX 100 void nhapmang(int a[], int &n); void xuatmang(int a[], int n); int SoChanLonNhat(int a[], int n); int SoChanNhoNhat(int a[], int n); void main() { int a[MAX],n; nhapmang(a,n); printf("\nNoi dung cua mang"); xuatmang(a,n); if(SoChanLonNhat(a,n)==-1) printf("\nTrong mang khong co so chan "); else printf("\nSo chan lon nhat trong mang la: %d",SoChanLonNhat(a,n)); printf("\nChuc cac ban hoc tot"); getch(); } void nhapmang(int a[], int &n) { do { printf("\nSo phan tu trong mang "); scanf("%d",&n); }while(n<=0 && n>100); for(int i=0 ; i<n ; i++ ) { printf("\nSo phan tu a[%d] la: ",i); scanf("%d",&a[i]); } } void xuatmang(int a[], int n) { for(int i=0 ; i<n ; i++ ) printf("%4d",a[i]); } int SoChanLonNhat(int a[], int n) { int i,d,vt; for( i=0 ; i<n ; i++ ) if( a[i]%2==0) // 8 chia het cho 2 { d=i; // d=1 break; // thoat khoi lenh } if(i==n) return -1; // trong mang khong co gia tri chan vt=d; for( i=d+1 ; i<n ; i++ ) // i=2;i<6;i++ if(a[i]%2==0 && a[i]>a[vt]) // a[4]%2==0 && a[4]>a[1]; a[5]%2==0 && a[5]<a[4] vt=i; // vt=4 return a[vt]; // tra ve gia tri la: 12 } int SoChanNhoNhat(int a[], int n) { int i,d,vt; for( i=0 ; i<n ; i++ ) if( a[i]%2==0) // 8 chia het cho 2 { d=i; // d=1 break; // thoat khoi lenh } if(i==n) return -1; // trong mang khong co gia tri chan vt=d; for( i=d+1 ; i<n ; i++ ) // i=2;i<6;i++ if(a[i]%2==0 && a[i]<a[vt]) // a[4]%2==0 && a[4]>a[1]; a[5]%2==0 && a[5]>a[1] vt=i; // vt=1 return a[vt]; // tra ve gia tri la: 8 }Mình chia sẽ code này đê các bạn tham khảo các vấn đề tương tự. Tuy nhiên các bạn nên tự làm lại, đừng nên copy. Nếu gặp vấn đề gì khó khăn, hoặc thắc mắc gì, các bạn có thể đặt câu hỏi ở cuối bài. Mình sẽ giải đáp.
Chúc các bạn thành công!
Xem thêm:Tìm số chẵn/lẻ âm nhỏ nhất trong mảng
RELATED ARTICLESMORE FROM AUTHOR
C/C++ Sự khác nhau giữa Inline function và Macro trong C
C/C++ Trong ngôn ngữ C/C++ có bao nhiêu vùng nhớ (Memory layout)
C/C++ Cấu trúc dữ liệu danh sách nhân viên
C/C++ Tổng quan File trong C
C/C++ Cấu trúc kiểu dữ liệu sinh viên
C/C++ Cấu trúc mô tả một điểm trên tọa độ xOy
9 COMMENTS
-
trình bày thuật toán (bao gồm:input-output-process-bộ giữ liệu test) để tìm số chẵn lớn nhất của một dãy n số gồm:x1,x2,…,xn.
Log in to leave a comment -
chỗ nhập vào n bằng do…while thì lệnh trong while(n100) nhá chứ dùng && thì có n nào thoả mãn được
Log in to leave a comment-
while dùng “hoặc” chứ sao dùng “và” được
Log in to leave a comment
-
-
#include #include #define MAXSIZE 100 void nhapmang(int a[], int &n) { do { printf(“Nhap so phan tu:”); scanf(“%d”,&n); }while (n<=0); for(int i=0;i<n;i++) {printf("Phan tu thu a[%d]:",i); scanf("%d",&a[i]); }
} void xuatmang(int a[], int n) {for(int i=0;i<n;i++) printf("%4d",a[i]); } int scln(int a[],int n) { int max; for(int i=0; i<n;i++) { if(a[i]%2==0) {max=a[i]; for(int j=0;jmax && a[j]%2==0) max=a[j]; }} return max; } int main() { int a[100],n; nhapmang(a,n); xuatmang(a,n); printf(“\nSo chan lon nhat la: %d”,scln(a,n)); getch(); }
Log in to leave a comment-
bạn muốn hỏi gì ?
Log in to leave a comment
-
-
Chỉ mình bài này với Viết chương trình nhập vào một ma trận là các số nguyên với kích thước MxN (M, N >= 3). Hãy: – Tìm phần tử có giá trị nhỏ nhất (min) và phần tử có giá trị lớn nhất (max) trong ma trận. – In ra các số chẵn nằm trong đoạn [min, max] không có trong ma trận.
Log in to leave a comment-
Bạn phân tích đề, quan trọng là hiểu đề muốn làm gì, rồi viết ra giải thuật trên giấy theo cách hiểu. rồi hiện thực bằng code. sau đó tập sửa code, nếu vẫn ko đc thì có thể liên hệ page để hỗ trợ tiếp nhé!
Log in to leave a comment
-
-
Giúp mình bài này với: Viết hàm nhập vào 1 mảng số nguyên 2 chiều gồm nxm phần tử. Viết hàm xuất mảng 2 chiều vừa nhập dưới dạng ma trận. Viết hàm tìm số lẻ nhỏ nhất. Viết hàm tính TBC các số chẵn. Viết hàm chính main() để gọi các hàm trên. (có sử dụng con trỏ)
Log in to leave a comment-
Những bài tập căn bản của người mới học lập trình. Bạn có thể search trên web sinhvientot.net hoặc Google nhé!
Log in to leave a comment
-
LEAVE A REPLY Cancel reply
Log in to leave a comment
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Danh sách các bài học
Các kiểu dữ liệu cơ bản trong ngôn ngữ C/C++
Mr Good - April 16, 2016 0Hướng dẫn Tạo Project Visual C++ trong Visual Studio 2012
April 16, 2016Biến-Hằng-Câu lệnh và biểu thức trong C/C++
April 16, 2016Cấu trúc IF-ELSE
April 16, 2016
Cấu trúc switch – case
April 16, 2016
Vòng lặp For
April 16, 2016
Cấu trúc While, Do-while
April 16, 2016Cách sử dụng hàm trong lập trình
April 16, 2016
Mảng một chiều
April 16, 2016 Load moreBài viết mới nhất
Download Download Cisco Packet Tracer
Windows 10 Hướng dẫn cài đặt webserver trên localhost để chạy wordpress
Hướng dẫn cấu hình IP ILO máy chủ HP DL380 Gen10
CentOS CentOS 8 – Giới thiệu về hệ điều hành Linux (P1)
Load more © Copyright 2016, All Rights Reserved. Donations are always appreciated! MEW: 0x296f1a39d5Ca3cb83C76724eA38af3B90B90109D MORE STORIESBài 3. Vòng đời của trang ASP.NET
MUNI - June 30, 2016 1Lớp Queue trong C#
Nguyễn Văn Hiếu - October 18, 2016 0Từ khóa » Tìm Số Lẻ Lớn Nhất Trong Mảng
-
Viết Hàm Tìm Số Lẻ Lớn Nhất Có Trong Mảng | How Kteam
-
Tìm Giá Trị Có Toàn Chữ Số Lẻ Và Có Giá Trị Lớn Nhất Trong Mảng
-
Số Lẻ Lớn Nhất Mảng 1 Chiều - IT's World
-
Tìm Số Toàn Số Lẻ Lớn Nhất Trong Mảng - Cộng đồng C Việt
-
Tìm ước Số Lẻ Lớn Nhất Của Số Nguyên Dương N Bằng C / C++
-
Tìm ước Số Lẻ Lớn Nhất Của Một Số Trong C - Lập Trình Từ Đầu
-
Tìm Vị Trí Số Dương Lẻ Lớn Nhất Trong Mảng 1 Chiều
-
Tìm Số Lớn Nhất Trong Mảng JavaScript
-
Sắp Xếp Lại Mảng Sao Cho Các Phần Tử Chỉ Số Chẵn Nhỏ Hơn Và Các ...
-
C++ Tìm ước Số Lẻ Lớn Nhất Của Số Nguyên Dương N - YouTube
-
[C] 167 Tìm Giá Trị Toàn Là Chữ Số Lẻ Và Lớn Nhất Trong Những Số Thỏa ...
-
Tìm Phần Tử Có Giá Trị Lớn Nhất Và Có Chứa Toàn Chữ Số Lẻ | VnCoding
Công nghệ
Công nghệ
Giải pháp
Download
HTML/CSS
HTML/CSS
ASP.NET Core
Thủ thuật
Excel
PowerPoint
Excel
Công nghệ
Công nghệ
Download
Download