PDA

View Full Version : مبتدی: مشکل در چاپ کردن آرایه



raminlich
شنبه 14 تیر 1393, 20:57 عصر
سلام به همگی
این برناممه
بزارین اینطوری بگم
من می خوام هر چند تا عدد که تو آرایه ذخیره شده رو نمایش بدم ولی از هر راهی رفتم نشد شما این باقیش رو بنویسید یه توضیحی هم بدین لطفا قبل از این که جواب بدین یه بار برنامه رو اجرا کنید ببینید کار می ده یا نه:گریه::افسرده::ناراحت:
#include <iostream>
#include <fstream>
using namespace std;
main()
{
float x,y,z,dar,a[10];
int td,f,co,i=0;
cin>>co;
while(co>=0){
ofstream list("list.txt",ios::app);
cout<<"gheymate emroz:";
cin>>x;
cout<<"gheymate diroz:";
cin>>y;
x*=100;
z=(x/y);
z-=100;
i++;
a[i]=z;
list<<'%'<<a[i]<<endl;
co--;
}
}

a.r.khoshghalb
یک شنبه 15 تیر 1393, 05:07 صبح
سلام
سایز آرایه a شما کلا 10 خانه است، پیشنهاد می کنم برای اینکه در آینده با برنامه دچار مشکل نشوید سایزش رو بیشتر کنید
پیشنهاد می کنم از نوشتن جنس تایع main صرفنظر نکنید!
متغیر co احتمالا بیانگر تعداد بارهای اجرای حلقه بوده! ولی در کد شما یک بار بیشتر اجرا می شود.
در کد زیر هم 3 مورد بالا اصلاح شده هم آن چیزی که میخواستید (تمام اعداد درون آرایه را چاپ کند) اضافه شده


#include <iostream>
#include <fstream>
using namespace std;
int main()
{
float x,y,z,dar,a[10000];
int td,f,co,i=0;
cin>>co;
while(co>0){
ofstream list("list.txt",ios::app);
cout<<"gheymate emroz:";
cin>>x;
cout<<"gheymate diroz:";
cin>>y;
x*=100;
z=(x/y);
z-=100;
i++;
a[i]=z;
list<<'%'<<a[i]<<endl;
co--;
}
for (int k = 1; k <= i; k++)
cout << a[k] << endl;
}


تغیرات در خطوط 4 - 6 - 9 - 23 -24

raminlich
یک شنبه 15 تیر 1393, 12:24 عصر
:بوس::بوس::قلب:
دنیا خودت :بوس:

raminlich
یک شنبه 15 تیر 1393, 23:21 عصر
سلام به همگی
#include <iostream>
using namespace std;
main ()
{
int d[31],m=0,x=0,y,z,s[100],i,k;
for( i=0;i<=5;i++){
cin>>s[i];
}
for(k=0;k<=i;k++){
x++;
d[k]=x;
}


for(int i=0;i<=5;i++)
cout<<s[i]<<" "<<d[k]<<endl;
}
چرا آرایه دومی فقط اشتباه چاپ می کنه؟
میخوام اینجوری بشه
1
2
3
4
5

مسعود اقدسی فام
یک شنبه 15 تیر 1393, 23:43 عصر
سلام به همگی
#include <iostream>
using namespace std;
main ()
{
int d[31],m=0,x=0,y,z,s[100],i,k;
for( i=0;i<=5;i++){
cin>>s[i];
}
for(k=0;k<=i;k++){
x++;
d[k]=x;
}


for(int i=0;i<=5;i++)
cout<<s[i]<<" "<<d[k]<<endl;
}
چرا آرایه دومی فقط اشتباه چاپ می کنه؟
میخوام اینجوری بشه
1
2
3
4
5



چون اندیسش رو k نوشتید. i بذارید حل می‌شه.


cout<<s[i]<<" "<<d[i]<<endl;

raminlich
یک شنبه 15 تیر 1393, 23:49 عصر
فک کنم یه مشکلی تو کدای بالا هست نمی دونم چیه اخه اندیسش رو هم i کردم باز فقط 6 چاپ می کنه

raminlich
یک شنبه 15 تیر 1393, 23:53 عصر
دادش حلش کردم مرسی