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;
			}
				
		}
	}
}
X viết 19:20 ngày 30/09/2018

ở 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? @@

Trịnh Minh Cường viết 19:18 ngày 30/09/2018

em cũng đang thắc mắc chỗ này…

Trịnh Minh Cường viết 19:21 ngày 30/09/2018

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 ??

X viết 19:32 ngày 30/09/2018

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

Hoa Sau viết 19:26 ngày 30/09/2018

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 ?

Hoa Sau viết 19:34 ngày 30/09/2018

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 ạ?

Trịnh Minh Cường viết 19:26 ngày 30/09/2018

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ỏ *.

Hoa Sau viết 19:29 ngày 30/09/2018

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ó &?

Trịnh Minh Cường viết 19:31 ngày 30/09/2018

For Better Life! – 16 Jan 11

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é

Bài liên quan
0