مشاهدة النسخة كاملة : error-_-"
wildkitty
07-01-2007, 07:50 PM
السلام عليكم ورحمة الله
انا كاتبة برنامج يضرب رقمين باينري ببعض لاكن ذابحني يطلعلي ايرور ياريت احد يساعدني يصلحلي الإرور لنه عجزت منه
هذه اهو الكود مالي
#include<iostream.h>
#include<math.h>
void main()
{
int i;
int M[31]={0};
int n1,n2;
double sum1=0,sum2=0;
int t;
double Result;
cout<<"enter number 1\n";
cin>>n1;
cout<<"enter number 2\n";
cin>>n2;
int result;
result=n1;
i=30;
while((i>=0)&&((result)!=0))
{
M[i]=result%2;
result=result/2;
i--;
}
result=n2;
i=9;
while((i>=0)&&((result)!=0))
{
M[i]=result%2;
result=result/2;
i--;
}
for(i=31;i>=22;i--)
{
if (M[i]==0)
{
for (i=31;i>=0;i--)
M[i]=M[i-1];
}
else
{
t=0;
for (i=21;i>=10;i--)
{
sum1=M[i]*pow(2,t)+sum1;
t++;
}
t=0;
for (i=9;i>=0;i--)
{
sum2=M[i]*pow(2,t)+sum2;
t++;
}
Result=sum1+sum2;
cout<<Result;
result=Result;
i=20;
while((i>=0)&&((result)!=0))
{
M[i]=result%2;
result=result/2;
i--;
}
for (i=31;i>=0;i--)
M[i]=M[i-1];
}
{
وهذه الإيرور الي يطلعلي -_-
roject.cpp
G:\project.cpp(62) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
G:\project.cpp(78) : fatal error C1004: unexpected end of file found
ولكم جزيل الشكر :p
أول شي يا أخ انك تحط ال Source Code في مربع Code وليس اقتباس -كي يسهل علينا قرائته @_@
#include<iostream.h>
#include<math.h>
void main()
{
int i;
int M[31]={0};
int n1,n2;
double sum1=0,sum2=0;
int t;
double Result;
cout<<"enter number 1\n";
cin>>n1;
cout<<"enter number 2\n";
cin>>n2;
int result;
result=n1;
i=30;
while((i>=0)&&((result)!=0))
{
M[i]=result%2;
result=result/2;
i--;
}
result=n2;
i=9;
while((i>=0)&&((result)!=0))
{
M[i]=result%2;
result=result/2;
i--;
}
for(i=31;i>=22;i--)
{
if (M[i]==0)
{
for (i=31;i>=0;i--)
M[i]=M[i-1];
}
else
{
t=0;
for (i=21;i>=10;i--)
{
sum1=M[i]*pow(2,t)+sum1;
t++;
}
t=0;
for (i=9;i>=0;i--)
{
sum2=M[i]*pow(2,t)+sum2;
t++;
}
Result=sum1+sum2;
cout<<Result;
result=Result;
i=20;
while((i>=0)&&((result)!=0))
{
M[i]=result%2;
result=result/2;
i--;
}
for (i=31;i>=0;i--)
M[i]=M[i-1];
}
{
2. شي فهمنا وش تبي تسوي ؟!
واي Compiler تستخدم (&)
wildkitty
08-01-2007, 10:59 PM
ماأدري انه في شي اسمه كود انا اعرف وخبري اقتباس
انا ابي اضرب رقمين بانري ببعض بطريقة اد اند شفت ميثود
استخدم مكروسوفت فجوال سي بلس بلس
wellknownQ8
09-01-2007, 10:10 AM
و عليكم السلام و رحمة الله و بركاته
G:\project.cpp(62) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of dataهذا حله يكون كالتالي:
result = (int) Result;
و ذلك لان الResult ليس integer
لذا علينا أن نجعل قيمته integer و نضعه في result
-------------
اكني مستغرب من شغله ..
لماذا استخدمت قيم الdouble !!؟
من المفترض ان تكون جميع القيم integer !
wildkitty
09-01-2007, 08:18 PM
اكني مستغرب من شغله ..
لماذا استخدمت قيم الdouble !!؟
من المفترض ان تكون جميع القيم integer !
انا كنت حاطتهم كلهم دبل بس ماكان يسير مع البور
رديته انتجر شوف الورنج الي طلع
C:\Documents and Settings\One\My Documents\project().cpp(53) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
C:\Documents and Settings\One\My Documents\project().cpp(59) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
C:\Documents and Settings\One\My Documents\project().cpp(85) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
project().obj - 1 error(s), 2 warning(s)
wellknownQ8
09-01-2007, 10:45 PM
المفروض يصير ..!؟
ما علينا ..
المهم لازم تركزين على الخطأ اللي يظهر
لان البرنامج حصل له compile من غير اي اخطاء أو رسائل .. لكنه توقف فجأة و الظاهر من نفس المكان
fatal error C1004: unexpected end of file found
wellknownQ8
09-01-2007, 10:59 PM
في كلا الحالتين (double or int) البرنامج يخرج من نفسه
لذا من الأفضل عمل debug أو على الأقل وضع cout في أكثر من مكان حتى تعرفي من أين الخطأ بالضبط
#include<iostream.h>
#include<math.h>
using namespace std;
void main()
{
int i;
int M[31]={0};
int n1,n2;
int sum1=0,sum2=0;
int t;
int Result;
cout<<"enter number 1\n";
cin>>n1;
cout<<"enter number 2\n";
cin>>n2;
int result;
result=n1;
i=30;
while((i>=0)&&((result)!=0))
{
M[i]=result%2;
result=result/2;
i--;
}
result=n2;
i=9;
while((i>=0)&&((result)!=0))
{
M[i]=result%2;
result=result/2;
i--;
}
for(i=31;i>=22;i--)
{
if (M[i]==0)
{
for (i=31;i>=0;i--)
M[i]=M[i-1];
}
else
{
t=0;
for (i=21;i>=10;i--)
{
sum1=(int) (M[i]*pow(t,2)+sum1);
t++;
}
t=0;
for (i=9;i>=0;i--)
{
sum2=(int) (M[i]*pow(t,2)+sum2);
t++;
}
Result=sum1+sum2;
cout<<Result;
result=Result;
i=20;
while((i>=0)&&((result)!=0))
{
M[i]=result%2;
result=result/2;
i--;
}
for (i=31;i>=0;i--)
M[i]=M[i-1];
}
}
}
أبو هاجر الحلوة
09-01-2007, 11:16 PM
السلام عليكم و رحمة الله و بركاته
رغم أن معلوماتي في الـ C نظرية لكن غالبا ما تكون رسالة الخطأ
fatal error C1004: unexpected end of file found
مرتبطة بالحاضنات "{" و "}"
أقترح عليك مراجعة آخر حاضنة في الكود فربما كانت معكوسة أو ربما كان عدد الحاضنات الفاتحة أكبر أو أقل من الحاضنات الغالقة
شكرا
wildkitty
11-01-2007, 10:44 AM
أنا عندي مايسير رن خير شر -_-
ماعرف أسوي دي بج للحيني مبتدأه بهل أشياء :P
أبوهادر : لا ما أعتقد لنه لو كنت ناسية أو قالبه قوس كان طلع ايرور يقول انه قوس ناقس :>
شكرا على محاولتكl لمساعدتي ^_^
wildkitty
11-01-2007, 10:57 AM
أحم أحم :09:
كويتي غير معروف شوكرا على تشغيل البرنامج خذيت الكود مالي الي انت حطيته وسويتله كوبي معنه كأنه نفس الكود الي عندي بس أشتغل بس يعطي أرقام غلط :02:
حسافة توه يسير انا سلمته للدكتور وخلصت -_-
شكرا
للتصحيح ابوهاجر موهادر :ouch:
أبو هاجر الحلوة
12-01-2007, 03:48 PM
إذا أمكن ما هي طريقة اد اند شفت ميثود المذكورة أعلاه
خلاص اذن ...
خذها درس ^.^
المره الجاية ما تسوي نفس الخطأ :)
أبو هاجر الحلوة
12-01-2007, 08:15 PM
إذا أمكن ما هي طريقة اد اند شفت ميثود المذكورة أعلاه
wildkitty
19-01-2007, 07:18 PM
الله يسلمك بو هاجر طريقة اد اند شفت هي طريقة ضرب الارقام بالباينري
مثلا اخذ رقم واحولهم باينري
2: OO1O
3:OO11
2x3=6 بالديسيمل بالباينري نفس الشي
وشوف انا سويت المسأله على هل رقمين وشوف الجواب الاخير
6:O11O
:)
أبو هاجر الحلوة
20-01-2007, 12:38 AM
ما شاء الله و لو أني ودعت الـ C من زمان وذلك قبل أن أتمكن من أساسياتها
لكن إنشاء الله سأعود إليها بجدية هذه المرة لأني مقتنع بأن جماعة السي و الأسمبلي هم حقا من يستحقون صفة المبرمج ثم يأتي الأخرون
ألف شكر على الجواب
وفقك الله في مسارك العلمي و المهني
علي جنيدي
01-03-2007, 01:39 PM
يجب مراعاة قواعد هندسة البرمجيات فالقوس الذي يفتح أولا يغلق آخرا والخطأ معك هو في عد اخلاق الأقواس في حلقة while جربي إغلاقها وإن شاء الله يمشي الحال
جميع حقوق برمجة vBulletin محفوظة ©2025 ,لدى مؤسسة Jelsoft المحدودة.
جميع المواضيع و المشاركات المطروحة من الاعضاء لا تعبر بالضرورة عن رأي أصحاب شبكة المنتدى .