2016-04-10 10 views
-2

Bu program derler ve çalışır, ancak aradığım şey olmayan bazı garip çıktılar (7089 gibi) verir. Birisi bana neyin yanlış olduğunu ve bu programı nasıl düzeltebileceğimi söyler, böylece kullanıcı tarafından iki sayı girişi sıralar mı?Yalnızca iki sayı içeren bir program yazmayı denemeye çalışıyorum ve else-if ifadeleri varsa

#include<iostream> 
#include<cstdlib> 
using namespace std; 

int main(){ 
int nums[3]; 
int first, second, third, fourth; 
cin >> nums[0] >> nums[1]; 
if(nums[0] > nums[1]){ 
    nums[0]=first; 
    nums[1]=second;} 
else if(numb[0]<numb[1]){ 
    nums[0]=second; 
    nums[1]=first;} 
cout << first << second; 

system("PAUSE"); 
return 0; 
} 
+1

birinci ve ikinci başlatılmamış değişkendir ve anlamsız veriler içeren olmalıdır. Aldığın şey bu. –

+0

Başka bir hata vermeden nasıl derlenir ve çalıştırılır (eğer [num] [numb [1]) {'? BkVnet'in söylediklerine ek olarak, aniden var olmayan bir diziden değerleri kullanmaya başladınız. – Lex

cevap

0

Ödevleri bozuyor musunuz?

doğru kod

if(nums[0] > nums[1]){ 
    first = nums[0]; 
    second = nums[1];} 
else if(numb[0]<numb[1]){ 
    second = nums[0]; 
    first = nums[1];} 
+0

Bu kadardı. Çok teşekkür ederim! Bunun mantığını açıklayabilir misiniz? –

+0

@BigBoss, '=' operatörünün nasıl çalıştığını okumak zorundasınız. Sol taraftaki değişkenin değeri, soldaki değişkene atanır. – Haris

İlgili konular