Обмен числами с использованием указателей в C++

C++C++Beginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабе мы научимся менять местами два числа с использованием указателей в C++. Программа меняет местами два числа, передавая их адреса в функцию и используя указатели для указания на их расположение в памяти.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/FunctionsGroup(["Functions"]) cpp(("C++")) -.-> cpp/AdvancedConceptsGroup(["Advanced Concepts"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/BasicsGroup -.-> cpp/variables("Variables") cpp/FunctionsGroup -.-> cpp/function_parameters("Function Parameters") cpp/AdvancedConceptsGroup -.-> cpp/pointers("Pointers") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/variables -.-> lab-96166{{"Обмен числами с использованием указателей в C++"}} cpp/function_parameters -.-> lab-96166{{"Обмен числами с использованием указателей в C++"}} cpp/pointers -.-> lab-96166{{"Обмен числами с использованием указателей в C++"}} cpp/output -.-> lab-96166{{"Обмен числами с использованием указателей в C++"}} cpp/user_input -.-> lab-96166{{"Обмен числами с использованием указателей в C++"}} cpp/code_formatting -.-> lab-96166{{"Обмен числами с использованием указателей в C++"}} end

Включить заголовочные файлы и объявить функцию

Сначала мы включаем необходимые заголовочные файлы и объявляем функцию swap, которая принимает два указателя на целые числа в качестве аргументов.

#include <iostream>
using namespace std;

// Функция swap для обмена 2 чисел
void swap(int *num1, int *num2);

Определить функцию swap

Здесь мы реализуем функцию swap следующим образом:

void swap(int *num1, int *num2) {
       int temp;
       // Копируем значение num1 в некоторую временную переменную
       temp = *num1;

       // Копируем значение num2 в num1
       *num1 = *num2;

       // Копируем значение num1, хранящееся в temp, в num2
       *num2 = temp;
}

Функция принимает два указателя на целые числа в качестве аргументов и меняет местами значения, на которые они указывают, с использованием временной переменной.

Ввести два числа и вызвать функцию swap

Объявите переменные num1 и num2 и используйте cin для ввода их значений. Вызовите функцию swap и передайте в нее их адреса в качестве аргументов.

int main() {
       int num1, num2;

       // Вводим 2 числа от пользователя
       cout<<"Enter the first number : ";
       cin>>num1;
       cout<<"Enter the Second number : ";
       cin>>num2;

       // Передаем адреса num1 и num2
       swap(&num1, &num2);

Вывести переставленные числа

Выведите переставленные числа с использованием cout.

// Выводим переставленные значения num1 и num2
cout<<"First number : "<< num1 << endl;
cout<<"Second number: "<<num2 << endl;

Скомпилировать и запустить программу

Сохраните программу в каталоге ~/project под именем main.cpp. Используйте следующую команду для компиляции кода

g++ main.cpp -o main &&./main

Резюме

В этом практическом занятии мы научились менять местами два числа с использованием указателей в C++. Мы объявили и определили функцию swap, которая меняла местами значения, на которые указывают два указателя на целые числа, и использовали cin и cout для получения ввода от пользователя и отображения вывода соответственно.