SIMPLE
STRING
ARRAY
SORTING
POINTER
CALCULATION
NUMBER
OTHER
C
BÀI TẬP C
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Sử dụng con trỏ để tìm vị trí của một phần tử trong mảng trong C

Trong lập trình C, con trỏ là một trong những khái niệm cơ bản nhưng rất mạnh mẽ. Sử dụng con trỏ, mình có thể truy cập và thao tác trực tiếp trên vùng nhớ của biến và mảng. Trong bài tập này, mình sẽ thực hành sử dụng con trỏ để tìm vị trí của một phần tử trong mảng.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Chương trình sử dụng con trỏ để tìm vị trí của một phần tử trong mảng trong C

Cách giải quyết:

Để giải quyết bài toán này, mình sẽ thực hiện các bước sau:

  • Nhập mảng từ người dùng và một phần tử cần tìm.
  • Duyệt qua từng phần tử của mảng và so sánh với phần tử cần tìm.
  • Khi tìm thấy phần tử, mình sẽ sử dụng con trỏ để lưu trữ vị trí của phần tử trong mảng.

Hãy xem cách giải bài lập trình sau:

Bài viết này được đăng tại [free tuts .net]

File: find_element_position.c

#include <stdio.h>

// Hàm tìm vị trí của phần tử trong mảng
int* findPosition(int *arr, int n, int x) {
    for (int i = 0; i < n; i++) {
        if (*arr == x) {
            return arr; // Trả về con trỏ đến vị trí của phần tử trong mảng
        }
        arr++; // Di chuyển con trỏ đến phần tử tiếp theo trong mảng
    }
    return NULL; // Trả về NULL nếu không tìm thấy phần tử
}

int main() {
    int arr[] = {10, 20, 30, 40, 50};
    int n = sizeof(arr) / sizeof(arr[0]);
    int x;
    printf("freetuts.net);
    printf("Nhap phan tu can tim: ");
    scanf("%d", &x);

    int *position = findPosition(arr, n, x);

    if (position != NULL) {
        printf("Phan tu %d duoc tim thay tai vi tri %ld trong mang.\n", x, position - arr);
    } else {
        printf("Phan tu %d khong ton tai trong mang.\n", x);
    }

    return 0;
}

Kết quả:

z5271767525115 b68e7c1377323137adef239261007fd6 jpg

Giải thích:

  • Trong code trên, mình đã sử dụng một hàm findPosition để tìm vị trí của một phần tử trong mảng.
  • Trong hàm này, mình duyệt qua từng phần tử của mảng và so sánh với phần tử cần tìm. Khi tìm thấy phần tử, mình trả về con trỏ đến vị trí của phần tử trong mảng.
  • Kết quả in ra vị trí của phần tử cần tìm trong mảng (vị trí bắt đầu từ 0).

Việc này thể hiện cách sử dụng con trỏ để tìm vị trí của một phần tử trong mảng một cách hiệu quả trong ngôn ngữ lập trình C.

Cùng chuyên mục:

Các hàm xử lý mảng đa chiều (array.h) trong C/C++

Các hàm xử lý mảng đa chiều (array.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

Top