30/09/2018, 17:18
chức năng của việc khai báo kích thước trong bài về mảng 1 chiều
anh chị cho em hỏi Tại sao trong bài mảng một chiều này, khi khai báo biến hằng Size " define Size 100 " thì nó chạy đúng, còn khi bỏ nó đi thì chỉ có phần tìm vị trí lớn nhất nó lại bị sai ạ?
#include "stdafx.h"
#include <iostream>
using namespace std;
define Size 100
---------------
void Nhap(int a[10], int &n);
void Xuat(int a[10], int n);
int ViTriLonNhat(int a[10], int n);
void SapXep(int a[10], int n);
int main()
{
int n;
int a[10];
cout << "Nhap mang:" << endl;
Nhap(a, n);
cout <<"Xuat"<< endl;
Xuat(a, n);
cout << " vi tri lon nhat: " << ViTriLonNhat(a,n)<< endl;
cout << " mang duoc sap xep ";
SapXep(a, n);
cout << endl;
Xuat(a, n);
system("pause");
return 0;
}
void Nhap(int a[10], int &n)
{
cout << " nhap n: ";
cin >> n;
for (int i = 0; i < n; i++)
{
cout << "a [" << i << "] = ";
cin>>a[i] ;
}
}
void Xuat(int a[10], int n)
{
for (int i = 0; i < n; i++)
{
cout << "a [" << i << "] = "<<a[i]<<endl;
}
}
int ViTriLonNhat(int a[10], int n)
{
int vt = 0;
int lonnhat = a[vt];
for (int i = 0; i <= n-1; i++)
{
if (a[i] > lonnhat)
vt = i;
}
return vt;
}
void SapXep(int a[10] , int n)
{
for (int i = 0; i <= n-2; i++)
{
for (int j = i+ 1; j <= n-1; j++)
{
if (a[i] > a[j])
{
int tem = a[i];
a[i] = a[j];
a[j] = tem;
}
}
}
}
Bài liên quan
ở trên define mà nhìn xuống dưới thấy có chỗ nào dùng đến đâu. Nên bỏ nó đi sao lại lỗi được? @@
em cũng đang thắc mắc chỗ này…
Mà ý bạn là tìm vị trí lớn nhất, tức là tìm vị trí của phần tử lớn nhất trong mảng hay là tìm cái index lớn nhất ??
nhìn code này chắc là tìm vị trí của phần tử lớn nhất chỗ điều kiện nên cập nhật lại max
em tìm vị trí của mảng có giá trị lớn nhất a à. Sao người mới ko cho up ảnh lên thế anh @ltd ?
Cho e hỏi ké luôn ở đây tại sao trong c++ có khái niệm tham chiếu còn trong c thì ko ạ?
Cái khái niệm tham chiếu tức là dùng toán tử
&
thì nó chỉ xuất hiện trong C++ thôi ^^, còn trong C thì mình dùng con trỏ*
.Trong C++ có tham trị, tham chiếu, con trỏ, còn trong C chỉ có tham trị và con trỏ thì em biết rồi. Ý em hỏi là sao trong C++ dùng đến cái & kia trong khi cũng có cái * đấy thôi, mà bên C lại chỉ cần đến * không có &?
Phân biệt giữa con trỏ và tham chiếu trong C++ – Distinguish between pointers...
Con trỏ (pointer) và tham chiếu (reference) trong C++ thoạt nhìn là khác nhau như: con trỏ sử dụng các toán tử “*” và “->”, còn tham chiếu sử dụng “.”. Nhưng chúng dường như được dùng để làm nh…
mình tìm được trên Google, bạn đọc tham khảo nhé