1. Trang chủ
  2. » Giáo Dục - Đào Tạo

on tap HKII (1)

11 248 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 304 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

KIỂU MẢNG VÀ BIẾN CÓ CHỈ SỐ Chúng ta chỉ xét hai kiểu mảng thông dụng với nhiều ngôn ngữ lập trình là kiểu mảng một chiều và kiểu mảng hai chiều.. Kiểu mảng một chiều Mảng một chiều là d

Trang 1

KIỂU MẢNG VÀ BIẾN CÓ CHỈ SỐ

Chúng ta chỉ xét hai kiểu mảng thông dụng với nhiều ngôn ngữ lập trình

là kiểu mảng một chiều và kiểu mảng hai chiều

1 Kiểu mảng một chiều

Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu Mảng được đặt tên và mỗi phần tử của nó có một chỉ số Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh số các phần tử của nó

Trang 3

Một số ví dụ

Tìm phần tử lớn nhất của mảng một chiều và chỉ số của phần tử lớn nhất đó

#include <iostream>

#define max 100

using namespace std;

int main()

{

int a[max];

int ptln,n,i,csmax;

cout<<"nhap so phan tu: ";

cin>>n;

for(i=0;i<n;i++)

{

cout<<"nhap gia tri phan tu

thu "<<i+1<<": ";

cin>>a[i];

}

ptln=a[0];

csmax=0;

for(i=1;i<n;i++) if(a[i]>ptln) {

ptln=a[i];

csmax=i;

} cout<<"\nPhan tu lon nhat la

"<<ptln;

cout<<"\nChi so cua phan tu lon nhat la "<<csmax;

return 0;

}

4 Kiểu mảng hai chiều

Xét bài toán tính và đưa ra màn hình bảng cửu chương

1 2 3 4 5 6 7 8 9 10

2 4 6 8 10 12 14 16 18 20

3 6 9 12 15 18 21 24 27 30

4 8 12 16 20 24 28 32 36 40

5 10 15 20 25 30 35 40 45 50

6 12 18 24 30 36 42 48 54 60

7 14 21 28 35 42 49 56 63 70

8 16 24 32 40 48 56 64 72 80

9 18 27 36 45 54 63 72 81 90

Bảng cửu chương

Ta thấy bảng cửu chương có dạng bảng gồm các giá trị cùng kiểu Ta

có thể biểu diễn bảng cửu chương bằng kiểu dữ liệu mảng hai chiều Mảng hai chiều là bảng các phần tử cùng kiểu

a) Khai báo

Tổng quát, khai báo biến mảng hai chiều trong CodeBlocks như sau:

<kiểu dữ liệu> <tên biến mảng>[chỉ số hàng][chỉ số cột];

Ví dụ Các khai báo sau đây là hợp lệ:

int a[100][100];

float b[100][100];

Tham chiếu tới phần tử của mảng hai chiều được xác định bởi tên mảng cùng với hai chỉ số được cách nhau bởi dấu phẩy và viết trong cặp

ngoặc [ và ].

Trang 4

Ví dụ.

Hình 13 Minh hoạ mảng hai chiều

b) Một số ví dụ

Chương trình sau tính và đưa ra màn hình bảng cửu chương.

#include <iostream>

using namespace std;

int main()

{

int a[9][9];

int i,j;

//nhap du lieu

for(i=0;i<9;i++)

for(j=0;j<9;j++)

a[i][j]=(i+1)*(j+1);

//xuat du lieu

for(i=0;i<9;i++)

{

for(j=0;j<9;j++)

cout<<a[i][j]<<“\t”;

cout<<endl;

}

return 0;

}

Trang 5

Bài tập:

Tính nhiệt độ trung bình của n ngày trong tuần và đếm xem có bao nhiêu ngày có nhiệt độ lớn hơn nhiệt độ trung bình.

#include <iostream>

using namespace std;

int main()

{

float nhietdo[366], tb,n;

int dem;

cout<<"nhap vao so ngay : ";

cin>>n;

for(int i =0;i<n;i++)

{

cout<<"nhap vao ngay thu "<< i+1<<": ";

cin>>nhietdo[i];

}

tb=0;

for(int i =0;i<n;i++)

{

tb=tb+nhietdo[i];

}

tb=tb/n;

dem = 0;

for(int i =0;i<n;i++)

{

if(nhietdo[i] > tb)

dem++;

}

cout<<"nhiet do trung binh cua "<<n<<" ngay la : "<<tb;

cout<<"\nso ngay co nhiet do lon hon nhiet do TB : "<<dem;

return 0;

}

Trang 6

KIỂU DỮ LIỆU XÂU

Dữ liệu trong các bài toán không chỉ thuộc kiểu số mà cả kiểu phi số -dạng kí tự Dữ liệu kiểu xâu là dãy các kí tự

Ví dụ Các xâu kí tự đơn giản:

“Bach khoa” “KI SU” “2007 la nam Dinh Hoi”

Xâu là dãy các kí tự trong bảng mã ASCII, mỗi kí tự được gọi là một phần tử của xâu Số lượng kí tự trong một xâu được gọi là độ dài của xâu Xâu có độ dài bằng 0 gọi là xâu rỗng

1 Khai báo

Khi khai báo biến xâu cần sử dụng thư viện string

Để khai báo kiểu dữ liệu xâu sử dụng tên dành riêng string tiếp theo

là độ dài lớn nhất của xâu được ghi trong cặp ngoặc [ và ].

Biến kiểu xâu có thể khai báo như sau:

string <tên biến xâu>[độ đài lớn nhất]

Ví dụ

string hoten[50];

Trong mô tả xâu có thể bỏ qua phần khai báo độ dài, chẳng hạn:

string diachi;

Chú ý: khi sử dụng kiể string ta phải khai báo thư viện như sau:

#include <string>

Trang 7

Bài tập:

#include <iostream>

#include <string>

using namespace std;

int main()

{

string st;

int demskt[256];

char a;

int i,dem1;

getline(cin,st);

dem1= 0;

for(i=0;i<st.length();i++) {

if(st[i]=='a') dem1++;

} cout<<"so ky tu a trong xau la : "<<dem1;

}

Trang 8

Kiểu dữ liệu tệp và thao tác với tệp

Trang 9

CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI

BIẾN VÀ THAM SỐ

Biến toàn cục và biến cục bộ

Dưới đây là một ví dụ về việc khai báo biến toàn cục int x; // biến toàn cục

int main()

{

int y; // biến cục bộ

y = 5

}// ra khỏi hàm main() thì y sẻ bị hủy bỏ

Trang 10

Tham biến và tham trị

Xét hại trường hợp sau

Trường hợp A

#include <stdio.h>

#include <conio.h>

void tanggiatri(int x)

{

x++;

}

int main()

{

int a = 5;

cout<<"Value before : “<<a; tanggiatri(a);

cout<<"Value after : “<<a; return 0;

}

Trường hợp B

#include <stdio.h>

#include <conio.h>

void tanggiatri(int &x)

{

x++;

}

int main(){

int main(){

int a = 5;

cout<<"Value before : “<<a; tanggiatri(a);

cout<<"Value after : “<<a; return 0;

}

Chúng ta cùng nhìn kết quả nhé Trường hợp A

Trường hợp B

Trang 11

Tham trị: đối với trường hợp A gọi là truyền theo tham trị Khi bạn truyền

vào hàm theo kiểu tham trị (pass by value ), thì trình biên dịch sẽ tạo ra 1 bản sao mới, sau đó copy giá trị của tham số bạn truyền vào cho bản sao

đó, và làm việc trên bản sao này Khi hàm kết thúc thì bản sao này cũng bị thu hồi

Tham biến: trường hợp B là truyền theo kiểu tham biến Khi bạn truyền

theo cách này, thì sẽ là truyền địa chỉ của biến đó , các thao tác với tham

số của bạn truyền vào sẽ hoạt động trên vùng địa chỉ này Nếu như biến

đó thay đổi thì ở ngoài cũng thay đổi theo, nó làm việc trên vùng nhớ của biến

Ngày đăng: 30/03/2017, 17:20

Xem thêm

TỪ KHÓA LIÊN QUAN

w