Tìm Giá Trị 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 giá trị lớn nhất/nhỏ nhất trong mảng Facebook Twitter Pinterest WhatsApp Bài toán tìm giá trị lớn nhất/nhỏ nhất là một bài toán kinh điển trong việc học lập trình, nó khá đơn giản tuy nhiên có nhiều bạn vẫn chưa hiểu rõ, đặc biệt là các bạn mới tiếp cận với lập trình. Hôm nay oktot sẽ hướng dẫn các bạn chi tiết bài toán này.
Ví dụ: Ta có 2 số a và b, hay cho biết số nào lớn hơn ? kết quả này thì chắc ai cũng phải biết đúng không nào. Đó là đối với chúng ta, vậy máy tính thì sao ? cũng tương tự thôi, máy tính sẽ so sánh 2 con số này với nhau và trả về số lớn hơn.
Nếu (a>b)
Max=a;
Ngược lại
Max =b;
Code trong C/ C++ như sau
int max(int a, int b) { int max; if (a > b) max = a; else max = b; return max; }Nhập vào a=100, b=200;
Kết quả sẽ trả về max=200
Chương trình hoàn chỉnh
#include <stdio.h> /* Khai báo hàm */ int max(int a, int b); int main () { /* Khai báo biến */ int a = 100; int b = 200; int max; /* Gọi hàm tìm giá trị max */ max = max(a, b); printf( "Giá trị lớn nhất là : %d\n", max ); return 0; } int max(int a, int b) { int max; if (a > b) max = a; else max = b; return max; }Kết quả sẽ trả về max=200
Thuật toán lấy giá trị lớn nhất trong mảng
max=a[0];
Duyệt với i=1..n-1
Nếu (max<a[i])
max=a[i];
Trả về max;
Code trong C/C++
int LonNhat(int a[], int n) { // Thuật toán lấy giá trị lớn nhất int max = a[0]; for(int i=1; i<n; i++) if(a[i] > max) max = a[i]; return max; }vd: mảng a có 5 phần tử giá trị tương ứng {3,7,1,9,2}
Max sẽ là: 9
Thuật toán lấy giá trị Nhỏ nhất trong mảng
min=a[0];
Duyệt với i=1..n-1
Nếu (min>a[i])
min=a[i];
Trả về min;
Code trong C/C++
int NhoNhat(int a[], int n) { //Dùng kỹ thuật lính canh int min = a[0]; for(int i=1; i<n; i++) if(a[i] > min) min = a[i]; return min; }vd: mảng a có 5 phần tử giá trị tương ứng {3,7,1,9,2}
Min sẽ là: 1
Chương trình không sử dụng hàm tìm giá trị lớn nhất/nhỏ nhất trong mảng
#include <conio.h> #include <stdlib.h> void main() { int mang[20]; int i, minval, maxval; /* Khoi tao mang ngau nhien */ randomize(); for (i=0; i<20; i++) mang[i] = random(100); /* Tim gia tri lon nhat va nho nhat */ minval = maxval = mang[0]; for (i=1; i<20; i++) { if (maxval < mang[i]) maxval = mang[i]; else if (minval > mang[i]) minval = mang[i]; } /* In mang */ clrscr(); for (i=0; i<20; i++) { if (mang[i] == maxval) textcolor(YELLOW); else if (mang[i] == minval) textcolor(RED); else textcolor(WHITE); cprintf("%3d", mang[i]); } getch(); }Chúc các bạn thành cô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
8 COMMENTS
-
Refactor hàm vẽ hình. cho e hỏi bài này làm thế nào
Log in to leave a comment -
Mỗi game thủ khi chơi game sẽ có một bảng điểm lưu lại n thành tích đạt được gần đây nhất. Cho hai bảng điểm của hai game thủ, hãy viết chương trình cho phép xác định game thủ nào có điểm cao nhất. Biết rằng bảng điểm được lưu trữ trong mảng một chiều có kích thước là n.
Log in to leave a comment-
ý em là ứng dụng ?
Log in to leave a comment
-
-
Dạ là viết chương trình xem điểm của game thủ nào cao nhất mà cái bảng điểm đó được lưu ở trong mảng
Log in to leave a comment-
ý là em hỏi cách làm hay là em làm bị lỗi ?
Log in to leave a comment
-
-
ad cho e hỏi e viết code này chạy được nhưng lại ra giá trị lớn nhất không đúng a tìm giúp e lỗi ở đâu int a[10],i,n; int _max; printf(“\n nhap n:”);scanf(“%d”,&n); for(i=0;i<n;i++) { printf("\n a[%d]=",i); scanf("%d",&a[i]); } _max=a[0]; for(i=1;i_max) _max=a[i]; printf(“\n giá trị lon nhat la:%d”,a[i]); return 0;
Log in to leave a comment -
code sai rất nhiều
Log in to leave a comment-
cám ơn bạn góp ý!, bạn chỉ ra chỗ nào sai giúp 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 STORIESHướng dẫn tạo Users, OU và phân quyền quản lý OU trên Windows Server...
Mr Good - April 17, 2016 12Tính đa hình trong C#
Nguyễn Văn Hiếu - August 24, 2016 0Từ khóa » Hàm Max Trong C
-
MIN Và MAX Trong C? - HelpEx
-
Tìm Max Và Min Trong Mảng C
-
Tìm Max Min Của 3 Số A B C Nhập Từ Bàn Phím Trong C/C++
-
(Lập Trình C) Tìm Min Và Max Trong Mảng - Banhoituidap
-
MAX (Hàm MAX) - Microsoft Support
-
Tìm Hiểu Về Thư Viện Algorithm Trong C++
-
Bài Tập - Tìm Min & Max - Số Lớn Nhất & Nhỏ Nhất - Lập Trình C
-
Một Số Hàm Hữu Ích Trong Thư Viện Algorithm C++ (STL)
-
Tìm Giá Trị Lớn Nhất Trong Hàm C++ - 24h68
-
Phương Thức Max() Trong Thư Viện Math Java - Freetuts
-
Tìm Số Lớn Nhất Trong Mảng C/C++
-
Đệ Quy Tìm Max, Min - Programming - Dạy Nhau Học
-
Cách Sử Dụng Hàm MAX Trong Excel Tính Giá Trị Lớn Nhất Có Ví Dụ
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