Module: Alt programlar: prosedürler ve işlevler - 1


Problem

11/11

Bağımsız Değişkenleri Değiştirme

Theory Click to read/hide

Görev
İki değişkenin değerlerini değiştiren bir prosedür yazın.

Bu görevin özelliği, çağıran program tarafından bilinmek için prosedürde yapılan değişikliklere ihtiyaç duymamızdır.

Prosedürü şu şekilde yazmaya çalışalım: static void Swap (int a, int b) // prosedür parametrelerinin böyle bir açıklaması ile, { // bağımsız değişkenlerin (x ve y) değerlerini kopyalar int c; // a ve b değişkenleri, x ve y ile ilgili olmayan bağımsız değişkenlerdir c = bir; bir = b; b=c; } statik boşluk Ana() { int x=1, y=2; Değiştir(x, y); //x ve y değişkenlerinin değerleri (argümanlar) a ve b, x = 1, y = 2 parametrelerine kopyalanır } Bu programı çalıştırırsanız x ve y değişkenlerinin değerlerinin değişmediğini görebilirsiniz. Parametrelerin argümanların değerlerini değiştirebilmesi için referansa göre veri aktarımını kullanmalısınız.Bunu yapmak için başlıkta veri türünün adından önce ref yazmalısınız. alt programdan. void Swap ( ref int a, ref int b ) // şimdi a ve b değişkenleri bellekteki x ve y değişkenlerinin adreslerini alıyor { int c; c = bir; bir = b; b=c; } statik boşluk Ana() {   int x=1, y=2;   Swap(ref x, ref y); Uygulama: Bir bağımsız değişkeni referans olarak iletirseniz, prosedür çağrılırken bu yerde yalnızca değişkenin adı (bir sayı ve bir aritmetik ifade DEĞİLDİR) durabilir.

Böyle bir prosedürü çağıramazsınız:
Değiştir(x, 4);
Değiştir(5+x, y);

Problem

İki değişkenin değerlerini değiştiren bir prosedür yazın. Bu prosedürdeki hataları bulun ve düzeltin.
 
Örnek
# Girdi Çıktı
1 1
2
2
1
1
using System;      
2
class Program      
3
{       
4
5
    {      
6
        int c;      
7
        c = a; a = b; b = c;      
8
    }      
9


                                                   
10
    static void Main()      
11
    {      
12
        int x = Convert.ToInt32(Console.ReadLine());      
13
        int y = Convert.ToInt32(Console.ReadLine());      
14
15
        Console.WriteLine(x);      
16
        Console.WriteLine(y);      
17
    }      
18
}      
19


                                                   
20


                                                   

     

Program check result

To check the solution of the problem, you need to register or log in!