پرسش و پاسخ در زبانهای برنامه نویسی C

saied_genius

عضو جدید
من نمي گم عقربه هاي ساعت از راست به چپ مي چرخند ، شما تو سوالت نوشتي :
سوال اینه :میخوایم یه برنامه در محیط پاسکال بنویسیم (فقط پاسکال) که یک ماتریس m*n به برنامه بدهیم و برنامه عناصر ماتریس را به اندازه ی یک واحد در جهت خلاف عقربه های ساعت بچرخاند.
بعد توي عکست جهت حرکت عقربه هاي ساعت رو کشيدي. (البته کشيده بودي ، ظاهراً تغييرش دادي)


موفق باشيد.
 

angel_fish

عضو جدید
کوتاه بیاید

کوتاه بیاید

بابا این بنده خدا روش نشده سوالشو مستقیم مطرح کنه دیگه این کارا چیه؟ خوب اگه میتونید کمک کنید:):)
 

jimbo 2008

عضو جدید
یه نفر نیست به من کمک کنه(مهندسا کمک فوری)

یه نفر نیست به من کمک کنه(مهندسا کمک فوری)

سلام دوستان عزیز
من هر کاری کردم دو تا برنامه زیر جواب درستی ندادن اگه میشه جوابشونو هر چه سریعتر نهایتاً تا فردا برام بنویسید.مخصوصاً اولیش که باید از تابع rand وsrand استفاده کرد .
1-برنامه ای که یه رشته ی100تایی به صورت تصادفی ازحروف انگلیسی بزرگ وکوچک چاپ کند.
2-برنامه ای که یه لوزی توپر به قطر کوچکn وقطر بزرگ2n چاپ کند.
 

taajam

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

کمک برنامه نویسی

می خوام در زبان++c برنامه ای بنویسم که ورودی نداشته باشد و خود برنامه خط به خط برگردانده بشه.
 

atena_2019

عضو جدید
پاسخ

پاسخ

سلام
برای این کار باید از فایل استفاده کنی.اینم کدش :
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;
int main()
{
fstream f;
f.open("x.cpp",ios::in);//این جا باید اسم فایل برنامه ات را بگذاری به جای x
char a[100];
int size;
while(!f.eof())
{
f>>a;
cout<<a<<' ';
size=strlen(a);
if(a[size-1]==';' || a[size-1]=='>' || a[size-1]==')'|| a[size-1]=='{' || a[size-1]=='}')
{
cout<<endl;
}

}
int i;
cin>>i;
return 0;
}

 
آخرین ویرایش:

Fathy

متخصص مهندسی سازه و زلزله
سلام دوستان عزیز
من هر کاری کردم دو تا برنامه زیر جواب درستی ندادن اگه میشه جوابشونو هر چه سریعتر نهایتاً تا فردا برام بنویسید.مخصوصاً اولیش که باید از تابع rand وsrand استفاده کرد .
1-برنامه ای که یه رشته ی100تایی به صورت تصادفی ازحروف انگلیسی بزرگ وکوچک چاپ کند.
2-برنامه ای که یه لوزی توپر به قطر کوچکn وقطر بزرگ2n چاپ کند.

سلام
خوبین؟

این برنامه اولتون:

کد:
#include <iostream.h>
#include <stdlib.h>

int main ()
{
  randomize();
  for (int i=0; i<100; i++)
    if(random(2))
      cout<<char('a'+random(26));
    else
      cout<<char('A'+random(26));
  return 0;
}
 

jimbo 2008

عضو جدید
بسیار ممنون هستم دوست عزیز اما من با این تابعی که شما نوشتی آشنایی ندارم وفکر کنم اجازه ی استفاده از اون رو نداشته باشم چون به ما تدریس نشده و البته چون من در محیط++ visual c برنامه می نویسم شاید با محیطی که شما می نویسی تفاوت داره به هر حال از کمک شما متشکرم. دوستان عزیز اگه میشه این برنامه رو با استفاده از آرایه ها وکد اسکی وتابع ()rand وsrand بنویسید.
با تشکر:smile:
 

m.@.i

عضو جدید
این برنامه همون خروجی مورد نظرتون رو میده.5 تا coutکه نوشتم ترتیب حروف بزرگ و کوچک در خروجیه.اگه خواستین میتونین ترتیبشو تغییر بدین.چون 5 تا cout داریم شمارنده 20 با شمرده می شود.
امیدوارم مشکلتون رو حل کنه.​

کد:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
int main ()
{
  int num;
  cout<<"Enter Number:";
  cin>>num;
  srand(num);  
  for (int i=0; i<20; i++){
   cout<<char('A'+rand()%26);
          cout<<char('a'+rand()%26);
   cout<<char('a'+rand()%26);
   cout<<char('A'+rand()%26);
   cout<<char('a'+rand()%26);
  }
  cout<<endl;
  getch();
  return 0;
}
 

m.@.i

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

کسی نیست راهنمایی کنه!!!!!!!!!!!!!!

من برنامه تبدیل عبارت پسوندی به میانوندی را در C برای حالتی که عبارت ورودی ما شامل عدد و عملگر باشد نوشته ام مثلا: /+12*3+41
این برنامه خروجی را به صورت حاصل عبارت نشان می دهد که در اینجا برابر 5 میشود.
بدین صورت که در هر مرحله اعداد را در stack میریزد و با push و pop های متعدد این کار را انجام میدهد.
حالا اگر بخواهم عبارت ورودی فقط شامل عملگر و کاراکتر باشد مثلا : /*AB+CA
که جواب به صورت مقابل چاپ شود: A+B/C*A
این کار را چطور انجام دهم .مثلا در ابتدا که A در stack ریخته می شود ، بعد B ، بعد که علامت + را میبیند A و B را با هم جمع میکند. حالا چطور عبارت A+B را دوباره به stack برگرداند :que::que::que::que:
 

KHF*

عضو جدید
سلام.
یه متغیر char تعریف کنید مثل T1 و A+B رو در اون قرار دهید.
البته اگه بخواید می تونید همون موقع که به نتیجه ی A+B می رسید، آن را چاپ کنید و T رو در پشته ذخیره کنید، موقع pop از پشته هم اگر T داخلش بود، به جز T بقیه رو چاپ و مثل قبل مراحل رو ادامه بدید.
 

help55

عضو جدید
پاسخ

پاسخ

در تکمیل فرمایش دوستمون کد و با اجراش واست گذاشتم.
 

پیوست ها

  • hal1.rar
    122.7 کیلوبایت · بازدیدها: 0

Fathy

متخصص مهندسی سازه و زلزله
سلام

این قسمت اصلی برنامه هستش

کد:
.
.
.

xM0:=A[M-1,0];
x0N:=A[0,N-1];

for i:=m-1 downto 1 do A[0,i]:=A[0,i-1];
for i:=1 to m-1 do A[n-1,i]:=A[n-1,i+1];
for j:=n-1 downto 2 do A[j, m-1]:=A[j-1, m-1]
for j:=1 to n-2 do A[j,0]:=A[j+1,0];

A[M-1,1]:=xM0;
A[0,N-2]:=x0N;
.
.
.
 

efhc

عضو
یه سوال برنامه نویسی بسیار جالب!!!!!!!.....

یه سوال برنامه نویسی بسیار جالب!!!!!!!.....

:cool:تابعي بنويسيد كه دو رشته را گرفته و بررسي كند آيا رشته دوم در داخل رشته اول هست يا نه؟ اگر هست شماره
انديسي از رشته اول را بدهد كه رشته دوم از آنجا شروع مي شود اگر هم نيست 1- برگرداند. مثلا:
alireza , ali == 0
username , ern== 2
alimohammad , Zahra == -1
 

efhc

عضو
هر کی تونست جواب بده یه آفرین داره!!!!

هر کی تونست جواب بده یه آفرین داره!!!!


برنامه اي بنويسيد كه يك عدد صحيح را بگيرد در سطرهاي متوالي ، بسته به اينكه رقم مربوطه از
عدد چه باشد، به همان تعداد ستاره چاپ كند.مثلا:
.

125
*
**
*****

3029
***
**
*********
 

abkhosravi

عضو جدید
برنامه اي بنويسيد كه يك عدد صحيح را بگيرد در سطرهاي متوالي ، بسته به اينكه رقم مربوطه از
عدد چه باشد، به همان تعداد ستاره چاپ كند.مثلا:.

125
*
**
*****

3029
***
**
*********
با استفاده از باقیمانده تقسیم و خارج قسمت و استفاده از اونا برای چاپ ستاره می تونی این کار رو انجام بدی
 

SHRP

همکار مدیر تالار مهندسی کامپیوتر متخصص برنامه نوی
کاربر ممتاز
دوست عزیز
ننوشته بودی با چه زبانی دقیقا می خوای و تا چه حدی سخت یا آسون
من با تابع بازگشتی توی C++ براتون نوشتم
موفق باشید
کد:
//writed by Hamid Reza Panji
//1388
//2010 Jun
#include <iostream.h>
#include <conio.h>
prn1(int n)
{
  if (n>0)
  {
   prn1(n/10);
   for(int i=0;i<n%10;i++)
     cout<<"*";
  if(i !=0) cout<<"\n";
  }
 return 0;
}
void main(void)
{
  int n;
  cout<<"\nenter a number:";
  cin>>n;
  prn1(n);
  getch();
}
 

atena_2019

عضو جدید
(ممنون میشم راهنمایی کنید):redface:
برنامه ای که اطلاعات 10 دانشجو را از ورودی دریافت کند سپس نفرات اول تا سوم را براساس معدل در خروجی چاپ کند. همچنین برنامه، این قابلیت را داشته باشد که براساس فیلدهای شماره دانشجویی، نام و نام خانوادگی جست و جو انجام دهد.
یعنی با وارد کردن این مقادیر دانشجو یا دانشجویانی که فیلد مورد نظرشان مساوی این مقادیر است تمامی اطلاعاتشان در خروجی چاپ شود. :)
یک کلاس یا struct می نویسی که شامل این فیلد ها باشه:
char* name,family,number
double average
بعد average ها رو sort میکنی به صورت نزولی و اسم اون افراد اول رو در خروجی چاپ می کنی.
برای بقیه موارد هم کلید رو از ورودی می گیری و با اعضا مقایسه می کنی
هر کدوم که بربر بود چاپ می کنی
برای اول کار هم می تونی آرایه 10 تایی از افرائ رو تعریف کنی.
 

piton

عضو جدید
میشه به صورا جدا جدا تعریف کرد
من برات می نویسم
متغیر ها رو تعریف میکنی نام و اینا بعد یه حلقه میزاری
for (i=0 i<10 i++)
{
cin>>name(i)>>moadel(i)va harchi k mikhay....
}
بعد میتونستی بالا هم مرتب سازی کنی و بعد اول تا سوم رو چاپ کنی جدا جدا هم میشه
for(i=0;i<10;i++)
max=moadel(i);
if max>moadel(i)
max=moadel(i)
اینجوری بزرگترین رو بدست میاری و تا سومیش چاپ میکنی
مرحله اخر هم یه حلقه میزاری میگی که چه فیلدی رو میخواد همونو رو
مقایسه میکنی
اگه نتونستی بگو تا بشینم کامل برات بنویسم

 

efhc

عضو
من آخر جمله هات رو متوجه نمی شوم اگه ممکنه بشین و کامل برامون بنویس.ممنون از این کارت.:gol:
 

piton

عضو جدید
اول سلام دوم من الان نرم افزارشو نصب ندارم
سوم من توی این چند سال هر بار به استادمون یا یکی که یاد داشت میگفتم کاملش چیه
میگفت نمیدونم در حالی که میدونست منم میگم داداش یکم سختمه برای کاری وقت بزاری رایگان باید بفهمی دیگه منظور کامل رسوندم توضیح هم دادم که چیکار کنه
اگه تا 8 صبر داشتی امتحانمو بدم باشه بعدش در خدمتتونم
معذرتا
 

24sarv

عضو جدید
در صورت امکان حل پروژه فوق(
برنامه ای بنویسید که شماره دانشجوئی و نمره هر درس و تعداد واحد هر درس را از ورودی دریافت کند(تعداد دانشجویان 20 نفر میباشد) و دارای قابلیتهای زیر باشد
1) با زدن کلید آ, معدل هر دانشجو را حساب کرده و با شماره دانشجوئی چاپ کند.
2) با زدن کلید بی, لیست را بر اساس شماره دانشجوئی مرتب کرده و در خروجی چاپ کند.
3) با زدن کلید سی, یک شماره دانشجوئی را از ورودی دریافت کند و اطلاعات کامل آن را در خروجی چاپ کند.
4) با زدن کلید دی, شماره دانشجوئی دانشجویان مشروط را چاپ کند.
تذکر: تعداد واحد درسها 1 یا 2 یا 3 واحدی میتواند باشد
:que::redface:) را تاآخر این هفته 30/10/88 قرار دهید (دو نمره پیان ترم)در صورت امکان توضیح مختصری در رابطه با خطوط برنامه نوشته شده نیر متذکر شوید باتشکر از عزیزان
 

piton

عضو جدید
من بهت تیکه تیکه توضیح میدم اگه خود حال داشتی بنویس
3 تا متغیر تعریف کنی
یه حلقه میزاری
for (i=0;i<20;i++p
cin>>shomare(i)>>nomre(i)>>vahed(i)p
اینجا میگیره خوب حالا میگه که یه حرف را وارد کنه
کد اسکی اون رو چک میکی
با کیس هم میسه با ایف هم میشه میگی اگه مثلا a=="73"بود یه حلقه دیگه میزاری میگی که بیاد نمره هاشو ضرب در تعداد واحد کنه و بعد بر تعداشون تقسیم کنه
یعنی داخل حلقه
k(i)=nomre(i)*vahed(i)p
میریزه داخل متغیر k خب
بعدش میگی
cout<<k(i)<<shomare(i)p
خب دیگه بقیشم باز یه حلقه دیگه میزاری و اولین شماره رو به عنوان بزرگترین میگیری و با بقیه چک میکنی اگه بعدی بزرگتر بود جاشو عوض کنه به روش حبابی مرتب کن و باز بگو اگه کلید با کد اسکی b مساوی بود اون کارو کنه
کلید c رو بگبره یه حلقه دیگه این بار اگه ا اون شماره دانشجویی برابر بود بیاد همه چیشو نشون بده مثلا
a=8692341
for(i=0;i<20;i++)p
if (shomare==a)p
اونق تمام اطلاعاتشو چاپ کنه
و برای c یه حلقه دیگه میای چک میکنی
اگه k(i) کوچکتر از 12 بود شماره دانشجویی رو چاپ کنه یعنی میگی cout<<shomare(i)p
اون p ا رو الکی گذاشتم در نظر نگیر
این برنامه برای یک درسه فقط اون یالا تعداد در س رو باید بگیر که چند تا درس اره و حلقه اول یه حلقه تو در تو میشه که در حلقه اول نام و حلقه دوم میاد نمره های درسا رو با واحد هاشون میگیره اوکی
موفق باشید

--------------------------------------
ترجیح میدم سکوت کنم تا ایتکه حرفی بزنم که دلی را بیازارد
 

24sarv

عضو جدید
من بهت تیکه تیکه توضیح میدم اگه خود حال داشتی بنویس
3 تا متغیر تعریف کنی
یه حلقه میزاری
for (i=0;i<20;i++p
cin>>shomare(i)>>nomre(i)>>vahed(i)p
اینجا میگیره خوب حالا میگه که یه حرف را وارد کنه
کد اسکی اون رو چک میکی
با کیس هم میسه با ایف هم میشه میگی اگه مثلا a=="73"بود یه حلقه دیگه میزاری میگی که بیاد نمره هاشو ضرب در تعداد واحد کنه و بعد بر تعداشون تقسیم کنه
یعنی داخل حلقه
k(i)=nomre(i)*vahed(i)p
میریزه داخل متغیر k خب
بعدش میگی
cout<<k(i)<<shomare(i)p
خب دیگه بقیشم باز یه حلقه دیگه میزاری و اولین شماره رو به عنوان بزرگترین میگیری و با بقیه چک میکنی اگه بعدی بزرگتر بود جاشو عوض کنه به روش حبابی مرتب کن و باز بگو اگه کلید با کد اسکی b مساوی بود اون کارو کنه
کلید c رو بگبره یه حلقه دیگه این بار اگه ا اون شماره دانشجویی برابر بود بیاد همه چیشو نشون بده مثلا
a=8692341
for(i=0;i<20;i++)p
if (shomare==a)p
اونق تمام اطلاعاتشو چاپ کنه
و برای c یه حلقه دیگه میای چک میکنی
اگه k(i) کوچکتر از 12 بود شماره دانشجویی رو چاپ کنه یعنی میگی cout<<shomare(i)p
اون p ا رو الکی گذاشتم در نظر نگیر
این برنامه برای یک درسه فقط اون یالا تعداد در س رو باید بگیر که چند تا درس اره و حلقه اول یه حلقه تو در تو میشه که در حلقه اول نام و حلقه دوم میاد نمره های درسا رو با واحد هاشون میگیره اوکی
موفق باشید

--------------------------------------
ترجیح میدم سکوت کنم تا ایتکه حرفی بزنم که دلی را بیازارد

سلام
از راهنمای تان ممنونم
در صورت امکان کل برنامه را به صورت کامل بنویسید (یک ملت منتظر جواب شماست)
اگر امکان دارد(کل برنامه)برنامه ان را (از ارایه ها )در برنامه نویس استفاده نمایید
 
بالا