سئوالات و مشکلات برنامه نویسی به زبان C و ++C

antengogoli21

عضو جدید
سلام دوستان
میشه کمکم کنید!!!!!!!!!!:cry:
یه برنامه می خوام که نام ش دانشجویی و نمره درس 20 تا دانشجو رو بگیره و ماکزیمم نمره رو بگه متعلق به کیه؟
البته نباید از structاستفاده بشه!!!
با forمیخوام .خودم نوشتم ولی نمی دونم چرا وقتی توی forمی گم یه رشته بگیر توی اجرای برنامه تعداد کمتری ورودی می گیره!!!:que:
ترو خدا کمکم کنید !!!!!!!!!!!:cry:
 

CPlus

عضو جدید
سلام دوستان
میشه کمکم کنید!!!!!!!!!!:cry:
یه برنامه می خوام که نام ش دانشجویی و نمره درس 20 تا دانشجو رو بگیره و ماکزیمم نمره رو بگه متعلق به کیه؟
البته نباید از structاستفاده بشه!!!
با forمیخوام .خودم نوشتم ولی نمی دونم چرا وقتی توی forمی گم یه رشته بگیر توی اجرای برنامه تعداد کمتری ورودی می گیره!!!:que:
ترو خدا کمکم کنید !!!!!!!!!!!:cry:

خب کدتو میذاشتی بچه ها ببینن مشکلش چیه
 

antengogoli21

عضو جدید
#include <iostream>
#include <string.h>
#include <stdio.h>

using namespace std;

int main()
{
int i,a,j=0,k;
long int shd[10];
float nom[10];
char str[100],c;
for(i=0;i<20;i++)
{

scanf ("%ld",&shd);
scanf ("%f",&nom);
}
a=nom[0];
for(i=1;i<20;i++)
{

if(a<nom)
{
a=nom;
j++;
}
}
printf ("%d-",a);
printf("%ld",shd[j]);
return 0;
}

خیلی مبتدیانه نوشتم!چون خود استاد گفت باید این طوری ساده بنویسید!!!

اگر کسی در مورد همین برنامه رو با استراکت راهنماییم کنه ممنون میشم:smile::smile:
 

CPlus

عضو جدید
#include <iostream>
خیلی مبتدیانه نوشتم!چون خود استاد گفت باید این طوری ساده بنویسید!!!
اگر سی در مورد همین برنامه رو با استراکت راهنماییم کنه ممنون میشم:smile::smile:

کدی که ضمیمه کردم برای استراکت ه

من کدت رو هم آنالیز نکردم

چند تا موضوع رو در نظر بگیر وقتی میخوای یه آرایه برای اسم بسازی باید 2 بعدی باشه مثلا char name[10][200]k

کل کار اینه ، باید توی یه حلقه هم نام ه شماره دانشجویی هم نمره رو بگیری

بعدش توی حلقه ی دوم بیا ماکس رو پیدا کن ، شماره آرایش رو یگ جا نگه دار ، در آخر هم حلقه تموم میشه شماره خونه بیشترین رو داری دیگه بگو معدل مال کیه
 

پیوست ها

  • Code(1).txt
    2.1 کیلوبایت · بازدیدها: 0

antengogoli21

عضو جدید
کدی که ضمیمه کردم برای استراکت ه

من کدت رو هم آنالیز نکردم

چند تا موضوع رو در نظر بگیر وقتی میخوای یه آرایه برای اسم بسازی باید 2 بعدی باشه مثلا char name[10][200]k

کل کار اینه ، باید توی یه حلقه هم نام ه شماره دانشجویی هم نمره رو بگیری

بعدش توی حلقه ی دوم بیا ماکس رو پیدا کن ، شماره آرایش رو یگ جا نگه دار ، در آخر هم حلقه تموم میشه شماره خونه بیشترین رو داری دیگه بگو معدل مال کیه

setwچیه؟
 

aidinMC

عضو جدید
از آرایه دو بعدی استفاده کن
string daneshjoo[20][2]; این برای نام و شماره دانشجوییه دانشجو
float av[50]; اینم برای معدل

کار خیلی سختی نیست اگه متوجه نشدی بیشتر توضیح بدم.....
 

antengogoli21

عضو جدید
از آرایه دو بعدی استفاده کن
string daneshjoo[20][2]; این برای نام و شماره دانشجوییه دانشجو
float av[50]; اینم برای معدل

کار خیلی سختی نیست اگه متوجه نشدی بیشتر توضیح بدم.....

میشه بیشتر توضیح بدین !!!
البته من آرایه دو بعدی برای اسمم می گیرم ولی توی یک بعد تعداد دانشجو ها رو نگه می دارم توی بعد دیگه نام !!! ولی نمیشه !!!!!!!!!:w20:
میشه این قسمتو بیشتر برام توضیح بدین
ممنون میشم.:D
 

aidinMC

عضو جدید
ببین یه آرایه دو بعدی از نوع رشته تعریف میکنی که شماره دانشجویی و نام دانشجو رو ذخیره کنه به این شکل:

PHP:
string daneshjoo[20][2];

که 20 تعداد سطرها هستش و 2 تعداد ستونها، ستون اول برای نام و ستون دوم برای شماره دانشجویی پس وقتی ما آرایه رو به شکل
PHP:
daneshjoo[5][1];
فراخوانی میکنیم درواقع داریم اسم دانشجوی چهارم رو فراخوانی میکنیم(سطر از صفر شروع شده) ، چون ستون اول اسمه... ابن برای شماره دانشجویی هم همینشکله...

حالا وقتی میخوایی مقداردهی بکنی با یه حلقه ی FOR این کار رو انجام میدی ، به شکل زیر:

PHP:
for (int i = 0 ; i < 20 ; i++) {
    cout << " nam'e daneshjoo ra vared konid : ";
    cin >> daneshjoo[i][1];
    cout << "shomare daneshjoo'i daneshjoo ra vared konid : ";
    cin >> daneshjoo[i][2];
}

حالا چون نوع این آرایه رشته هستش نمیتونی معدل رو هم تو این ذخیره کنی و یه ستون دیگه به آرایه اضافه کنی ، پس باید یه آرایه از نوع FLOAT درس کنی که توش معدل دانشجو رو ذخیره کنی ، به شکل زیر :

PHP:
float av[20];
این آرایه به تعداد دانشجو که 20 باشه عدد اعشاری تو خودش ذخیره میکنه ، پس برای دریافت معدل دانشجو هم باید کد بالا رو به شکل زیر تغییر بدی:

PHP:
for (int i = 0 ; i < 20 ; i++) {
    cout << " nam'e daneshjoo ra vared konid : ";
    cin >> daneshjoo[i][1];
    cout << "shomare daneshjoo'i daneshjoo ra vared konid : ";
    cin >> daneshjoo[i][2];
    cout << "moadel daneshjoo ra vared konid : ";
    cin >> av[i];

}

بعد از اینکه اینارو مقدار دهی کردی میمونه بخش مقایسه که فک کنم کار خیلی راحتی باشه...
 
آخرین ویرایش:

antengogoli21

عضو جدید
#include <iostream>
#include <string.h>
#include <stdio.h>

using namespace std;

int main()
{
int i,a,j=0;

float nom[20];
char daneshjoo[20][2];
for(i=0;i<20;i++)
{
cout << " nam'e daneshjoo ra vared konid : ";
cin >> daneshjoo[1];
cout << "shomare daneshjoo'i daneshjoo ra vared konid : ";
cin >> daneshjoo[2];
cout << "nomre daneshjoo ra vared konid : ";
cin>>nom;
}

a=nom[0];
for(i=1;i<20;i++)
{
if(a<nom)
{a=nom;
j++;
}
}
printf ("%d-",a);
printf("%s",daneshjoo[j][2]);
return 0;
}

من برنامه رو همونطور که گفتین نوشتم ولی بازم نمیشه!!
ای خدا!!!!!!!!!!!!!!!:cry:
 

aidinMC

عضو جدید
دوست من کتابخونه string رو اینکلود کن و آرایه دانشجو رو از نوع string انتخاب کن نه char
 

iimmojavid

عضو جدید
سلام به تمام مهندیسین کامپیوتر
نیاز بسیار مبرمی به کمک و تجربتون مخصوصا در سی پل و سی شارپ داشتم
من مهندسی نفت می خونم برای پایان نامم از دوستم سورس کدی برای یک برنامه نفتی رو گرفتم که بتونم خودم روش تغییرات بدم
که در سی پل نوشته شده نیازی به گفتن نیست که باید سورس رو یه بلایی سرش اورد که بشه از برنامه ران گرفت مشکل اول من اصلابلد نیستم که لایبرری هاشو اینکلود کنم و مشکل دوم من اینکه میشه من بعد از این که تمام برنامه تو سی پل اکی شد اونو کامپایلش کنم تو سی شارپ ؟
سپاس از همگیتون
 

Aligholivand

عضو جدید
با سلام
می خواستم اینو بگم که اگه تو سی پلاس نوشته شده باشه چون سی پلاس با سی شارپ در بعضی از کدها فرق دارن نمی توان اونو در سی شارپ کامپایل کرد و بعد از اون شما که سورس کدتو نزاشتی
 

marshal.00

عضو جدید
سلام دوستان .در يه قسمتي از اين text به مشكل بر خوردم. قسمت آخرش لطفا راهنماييم كنيد.


خواسته ها: تعریف ساختار های زیر

  • ساختارpoint: شامل 2 عدد اعشاری
  • ساختار rectangle : شامل 4 نقطه
  • ساختاری به نام exercise1 : شامل آرایه ای از مستطیل ها و ….

تعریف توابع :
توابع مربوط به ساختار rectangle

  • Get_area
توابع مربوط به ساختار exercise1 :

  • : که یک ورودی که تعداد مستطیل هاست را می گیرد و به آن تعداد مختصات یک مستطیل (هر کدام شامل 4 نقطه) را از ورودی می گیرد و آرایه مربوط به ساختار exercise1 را مقدار می دهد
  • : هدف این تابع نشان دادن مستطیل هایست که با هم همپوشانی دارند


اين قسمتي كه قرمز شده نمي دونم چه طوري ميشه ؟
 
آخرین ویرایش:

شمسی جان

عضو جدید
سلام به تمام مهندیسین کامپیوتر
نیاز بسیار مبرمی به کمک و تجربتون مخصوصا در سی پل و سی شارپ داشتم
من مهندسی نفت می خونم برای پایان نامم از دوستم سورس کدی برای یک برنامه نفتی رو گرفتم که بتونم خودم روش تغییرات بدم
که در سی پل نوشته شده نیازی به گفتن نیست که باید سورس رو یه بلایی سرش اورد که بشه از برنامه ران گرفت مشکل اول من اصلابلد نیستم که لایبرری هاشو اینکلود کنم و مشکل دوم من اینکه میشه من بعد از این که تمام برنامه تو سی پل اکی شد اونو کامپایلش کنم تو سی شارپ ؟
سپاس از همگیتون


درباره مشکل دومتون باید بگم که شنیدم یه نرم افزار هست که کدهارو به همدیگه تبدیل میکنه یعنی یه کد به زبان سی پل مینویسی بعد به زبان برنامه نویسی دیگه ای تبدیل میکنه.
اسمشو نمیدونم.
شاید بتونه کمکت کنه
 

aidinMC

عضو جدید
درباره مشکل دومتون باید بگم که شنیدم یه نرم افزار هست که کدهارو به همدیگه تبدیل میکنه یعنی یه کد به زبان سی پل مینویسی بعد به زبان برنامه نویسی دیگه ای تبدیل میکنه.
اسمشو نمیدونم.
شاید بتونه کمکت کنه
سعی کردن یه همچین چیزی بسازن ولی عملی نیست ، نمیشه.....
 

tito11

عضو جدید
سلام دوستان. چجوری میشه یه شکل مثله این کشید بدون استفاده از آرایه?
خواهش می کنم کمکم کنید Capture.JPG
 

Farnaz1373

عضو جدید
salam bebakhshid kasi midune chejuri mitunam ye barname benevisam ke majmue tavani ra bede ba estefade az adad binery???
 

sangebirang

عضو جدید
سلام دوستان. چجوری میشه یه شکل مثله این کشید بدون استفاده از آرایه?
خواهش می کنم کمکم کنید مشاهده پیوست 137322



البته ممکنه الگوریتمم خیلی ضایع باشه اما تونستم این شکلو روی خروجی بدست بیارم اینم تصویر کد و خروجی

کد : http://uploadtak.com/images/z63_1.png
خروجی : http://uploadtak.com/images/e7988_1.png
 

sangebirang

عضو جدید
یه سوال دارم : این نوع داده ای رو چی باید تعیین کنم که یه عدد بالای 20 رقمو راحت توی خروجی چاپ کنه؟

این برنامه رو نوشتم کامپایلش که میکنم ایرادی نمیگیره : http://uploadtak.com/images/f4666_1.png

ولی وقتی run میکنم عددهای معادل increase= رو عجیب و غریب نشون میده .. این یعنی چی؟ : http://uploadtak.com/images/y5747_1.png

باید از چه نوع داده ای استفاده کنم که مقدار increase رو با عدد مستقیم و بدون توان و این چیزا نشون بده؟

ممنون میشم راهنماییم کنید
 

antengogoli21

عضو جدید
این برنامه من درمورد جمع دوعدد بزرگه !درست اجرا میشه فقط میخوام ارایه رو returnکنه نه این که توی تابع مقدار رو چاپ کنه!ولی هرکاریش میکنم نمیشه!!!دوستان میشه کمک کنید
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
int f(int *x1,int *x2,int count );
int main()
{
int x1[99]={0}, x2[99]={0},i=-1,i2=-1,count;
char temp[99],c;
cout<<"Enter the first number:"<<endl; //get 1st number
while(i<101&&(c=getchar())!='\n')
{
temp=c;
i++;

}
i--;
int ii=i;
for(int c=0;c<=i;c++) //convert 1st number from char to int
{
x1[c]=temp[ii]-48;
ii--;
}

ii=i;
cout<<"nnFirst number: ";
for(;ii>=0;ii--)
cout<<x1[ii];
cout<<endl;

cout<<"nEnter the second number:"<<endl; //get 2nd number
while(i2<100&&(c=getchar())!='\n')
{
temp[i2]=c;
i2++;

}
i2--;
ii=i2;
for(int c=0;c<=i2;c++) //convert 2nd number from char to int
{
x2[c]=temp[ii]-48;
ii--;
}


cout<<"nnSecond number: ";
ii=i2;
for(;ii>=0;ii--)
cout<<x2[ii];

count=(i>i2)?i:i2; //recognize biggest array
f(x1,x2,count);
return 0;
}
int f(int *x1,int *x2,int count ){
int out[102];
int ex=0, temp2, temp3,ii; //define some vars for temporary number and the extra
for(ii=0;ii<=count;ii++) //+ the arrays
{
temp2=(x1[ii]+x2[ii]);
temp2+=ex;
if(temp2<10)
out[ii]=temp2;
else
{
temp3=(temp2/10);
ex=temp3;
temp3*=10;
out[ii]=(temp2-temp3);
}

}

cout<<"nnResult:"<<endl;

for(;count>=0;count--)
cout<<out[count];
return 0;
}

 

Similar threads

بالا