-
نقل قول: تمرین های زبان برنامه نویسی ++C
ببینید اگه بر فرض جواب رو هم بتونیم بدست بیاریم برای یه حالته رندومه . یعنی اون کل اتفاقات رو بررسی نمیکنه . من یه چرت و پرتایی که البته خیلی خنده داره رو نوشتم برای سوال 2 جواب داد و برای بقیه ی حالتها هم باید همین رو تغییر بدیم سوال 1 هم تقریبا درست بود ولی باز مشکل داره . اگه این برنامه رو قبول نداشته باشیم باید از راه محاسبات ریاضی بریم که مربوط به درس جبر و احتماله ولی تا اونجا که من درس جبر رو مرور کردم نمیشه این معادله رو محاسبه کرد . شایدم بشه ولی خیلی سخته . ما که عقلمون بیشتر از این راه نداشت . البته چون من مبتدیم این برنامه رو نوشتم .
#include<iostream.h>
#include<conio.h>
int main()
{
int h[10]={1,2,3,4,5,6,7,8,9,10};
int b[9],c[8],d[7],e[6],f[5],a[3];
int i,j,k,l,m,n,i1,j1,k1,l1,m1,n1;
float count,seven,tow;
float darsad;
tow=seven=count=0;
clrscr();
for(i=1;i<=10;i++)
{
for(i1=1;i1<i;i1++)
b[i1]=h[i1];
for(i1=i;i1<=9;i1++)
b[i1]=h[i1+1];
for(j=1;j<=9;j++)
for(i1=1;i1<j;i1++)
c[i1]=b[i1];
for(i1=i;i1<=8;i1++)
c[i1]=b[i1+1];
for(k=1;k<=8;k++)
for(i1=1;i1<k;i1++)
d[i1]=c[i1];
for(i1=i;i1<=7;i1++)
d[i1]=c[i1+1];
for(l=1;l<=7;l++)
{
a[1]=d[l];
for(i1=1;i1<l;i1++)
e[i1]=d[i1];
for(i1=i;i1<=6;i1++)
e[i1]=d[i1+1];
}
for(m=1;m<=6;m++)
{
a[2]=e[m];
for(i1=1;i1<m;i1++)
f[i1]=e[i1];
for(i1=i;i1<=5;i1++)
f[i1]=e[i1+1];
}
for(n=1;n<=5;n++)
a[3]=f[n];
if (((a[1]%2)==0)&&((a[2]%2)==0)&&((a[3]%2)==0))
count=count+1;
if ((a[1]==7)||(a[2]==7)||(a[3]==7))
seven=seven+1;
if (((a[1]==1)||(a[2]==2)||(a[3]==3))&&((a[2]==1)||(a[2]==2)||(a[2]==3))&&((a[3]==1)||(a[3]==2)||(a[3]==3)))
tow=tow+1;
}
darsad=(count/151200)*100;
cout<<"1-darsade in ke har se zooj bashad : "<<darsad<<"%"<<endl;
darsad=(seven/151200)*100;
cout<<"2-darsade in ke 7 biayad : "<<darsad<<"%"<<endl;
darsad=(tow/151200)*100;
cout<<"3-darsade in ke se adade 1,2,3 biayad : "<<darsad<<"%";
getch();
return 0;
}
:لبخند:
-
نقل قول: تمرین های زبان برنامه نویسی ++C
خودمونیم ها چقدرم سوال ساده ایی بوده گفته ما می خواهیم سه توپ از بین 10 توپ که از 1 تا 10 شماره گزاری شده را به تعداد دفعاتی که کاربر تعیین می کنه انتخاب کنیم و ببینیم که بر حسب درصد چه زمانی عدد 7 رخ میده تو این قرعه های سه تایی کی سه عدد زوج و کی 1 و 2 و 3 در اعدا قرعه کشی هستند.... واقعا یک ترجمه بد چقدر آدم رو از سوال اصلی دور می کنه
/* This program simulates a lottery drawing that uses balls */
/* numbered from 1 to 10. */
#include <stdlib.h>
#include <stdio.h>
#define MIN 1
#define MAX 10
#define NUMBER 7
#define NUM_BALLS 3
/*******************************************/
/* this function generates a random integer*/
/* between specified limits a and b (a<b)*/
int rand_int(int a,int b){
return rand()%(b-a+1)+a;
}
int main(void)
{
/* Define variables and function prototypes. */
unsigned int alleven = 0, num_in_sim = 0, onetwothree = 0, first,
second, third;
int lotteries = 0, required = 0;
int rand_int(int a ,int b);
/* Prompt user for the number of lotteries. */
printf("\n\nEnter number of lotteries: ");
scanf("%i",&required);
while (required <= 0)
{
printf("The number of lotteries must be an integer number, "
"greater than zero.\n\n");
printf("Enter number of lotteries: ");
scanf("%i",&required);
}
/* Get three lottery balls, check for even or odd, and NUMBER. */
/* Also check for the 1-2-3 sequence and its permutations. */
while (lotteries < required)
{
lotteries++;
/* Draw three unique balls. */
first = rand_int(MIN,MAX);
do
second = rand_int(MIN,MAX);
while (second == first);
do
third = rand_int(MIN,MAX);
while ((second==third) || (first==third));
printf("Lottery number is: %u-%u-%u\n",first,second,third);
/* Are they all even? */
if ((first % 2 == 0) && (second % 2 == 0) && (third %2 == 0))
alleven++;
/* Are any of them equal to NUMBER? */
if ((first == NUMBER) || (second==NUMBER) || (third == NUMBER))
num_in_sim++;
/* Are they 1-2-3 in any order? */
if ((first <= 3) && (second <= 3) && (third <= 3))
if ((first != second) && (first != third) && (second != third))
onetwothree++;
}
/* Print results. */
printf("\nPercentage of time the result contains three even numbers:"
" %f\n",100.0*alleven/lotteries);
printf("Percentage of time the number %u occurs in the three"
" numbers: %f\n",NUMBER,100.0*num_in_sim/lotteries);
printf("Percentage of time the numbers 1,2,3 occur (not necessarily"
" in order): %f\n",100.0*onetwothree/lotteries);
/* Exit program. */
return 0;
}
ببین این جواب سواله می تونی تحلیلش کنی
-
نقل قول: تمرین های زبان برنامه نویسی ++C
برنامه ایی بنویسید که حرکت یک موج را در مد تکست بوسیله کارکتر ستاره پیاده سازی کند یعنی
* *
* *
* *
* * *********
البته باید این موج حرکت کند به سمت راست صفحه نمایش اگر امکان اضافه کردن قسمت طول موج و غیره وجود داشته باشد بهتر است
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سوالات خوبی بودن سوال 3 رو نفهمیدم بقیه سوال ها رو حل کردم ولی چون بقیه نوشتن و دیر کردم نمی ذارم لطفا یه سری سوال دیگه مطرح کنید
-
نقل قول: تمرین های زبان برنامه نویسی ++C
هنوز سوال 7 رو کسی حل نکرده
نقل قول:
7- برنامه ایی بنویسید که به صورت مار پیچ دور تا دور صفحه نمایش را با ستاره * پر کند به صورت انیمیشن .
سوال 3 مقلوب یک عدد یعنی اینکه عدد رو به صورت برعکس بنویسیم 987 مقلوبش می شه 789
برنامه ایی بنویسید که کار یک دستگاه خود پرداز را شبیه سازی کند مثلا به برنامه عدد 100 هزار داده می شود و برنامه بایدبوسیله 1000 و 500 و 200 و 100 این عدد را خرد کند
برنامه ایی بنویسید که محاسبه کند به چند طریق می توان سوال قبل را حل کرد
برنامه ایی بنویسید که لگاریتم یک عدد را شبیه سازی کند. (بدون سر فایل math)
اینم یک پازل به قبل و بعد قطعه کد زیر دستوراتی اضافه کنید تا بدون خطا کامپایل شود
// inja mitavan code ezafe kard
void ta(){
yek = 1;
}
// inja mitavan code ezafe kard
-
نقل قول: تمرین های زبان برنامه نویسی ++C
اینم یک پازل به قبل و بعد قطعه کد زیر دستوراتی اضافه کنید تا بدون خطا کامپایل شود
// inja mitavan code ezafe kard
void ta(){
yek = 1;
}
// inja mitavan code ezafe kard
[/quote]
خوب اولش */ و آخرش /* اینو می زنیم ، به کل منتفی میشه :لبخند::لبخند:
خوب خیلی کارا میشه کرد !!!! اصلا نوع yek گفته نشده :عصبانی++::عصبانی++:
:گیج:
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نگفتم که کلا حذفش کن
باید بشه از تابع استفاده کرد:تشویق:
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام.
int yek;
void ta(){
yek = 1;
}
void main(){ta();}
-
1 ضمیمه
نقل قول: تمرین های زبان برنامه نویسی ++C
چند تا برنامه کوچک که با مد گرافیک پیاده سازی شده.
دوستان برنامه هایی که گفته بودم پیدا نکردم ولی چند تا تمرین پیدا کردم با سورس گفتم بزارم شاید مفید باشه.
سطح برنامه ها : مبتدی
مد: گرافیک
موفق باشید.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
توابع گرافیک c/C++ :
مد: گرافیک
نمونه: فایل زیپ بالا چند تا تابع رو استفاده کرده.
امیدوارم مفید واقع بشه.
رسم کمان :
arc(x,y,s,e,r)
رسم خط:
line(x1,y1,x2,y2)
مربع یا مستطیل تو پر:
bar(x1,y1,x2,y2)
مکعب مربع :
bar3d(x1,y1,x2,y2,DEPTH,STATUS)
STATUS (وضعیت) شامل 2 مقدار 0 و 1
DEPTH (عمق)
بیضی یا دایره تو پر:
fillellipse(x,y,r1,r2)
دایره تو خالی:
circle(x,y,r)
رنگ امیزی اشکال تو پر:
setfillstyle(MOULD,COLOR)
MOULD تا جایی که یادم می یاد مقادیر بین 0 تا 12 می گیره و حالات مختلفی نظیر هاشور ، خط راست ، خط چپ و ... رنگ امیزی انجام می دهد.
تنظیم خصوصیات متن:
settextstyle(Font,SAKE,size)
SAKE (جهت)
رنگ امیزی نواحی بسته :
floodfill(x,y,color)
رنگ امیزی کادر ها:
setcolor(color)
لازم به ذکر هست که ما چیزی به نام ، نام رنگ نداریم!! و باید شماره ی رنگ داده شود که مجموع اعداد 1 تا 15 هست اگر اشتباه نکنم.
این موضوع در تمام ارگمان ها توابع باید رعایت شود .
ننویسید :
setfillstyle(5,red)
باید نوشته شود مثلا :
setfillstyle(7,4)
نوشتن متن در مکان نمای فعال:
outtex("Text")
نوشتن متن در یک مختصات مشخص :
outtextxy(x,y,"Text")
جابجا کردن محل مکان نما:
moveto(x,y)
رسم نقطه:
putpixel(x,y,color)
نقطه :
lineto(x,y)
گرفتن یک کلید برای اتمام کار:
این تابع رو ما داخل حلقه ، برای خاتمه حلقه استفاده می کردیم ، دقیق یادم نمی یاد ، ولی فکر کنم خروجی true یا false دارد که این خروجی با توجه به فشردن کلیدی از صفحه کلید ، رخ می دهد.
kbhit()
تابع بالا ورودی نداره!!!
این هم در حلقه می یاد و مثل یه تایمر عمل می کنه :
مقداری که به این تابع فرستاده می شه ، فاصله زمان اجرای دستور بعد ( گردش بعدی حلقه) هست.
delaye(x)
موفق باشید.
-
1 ضمیمه
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
Negative_Se7en
سلام.
int yek;
void ta(){
yek = 1;
}
void main(){ta();}
درسته.... این یک راهشه در ضمن مد گرافیک داس که BGI باشه دورانش سر رسیده ولی برای استفاده از این ها در محیط ویژوال 2008 میشه از کتابخانه هایی که نوشتند و کامل نیست استفاده کرد یک نمونشو ضمیمه کردم باید محتویاتشو به پوشه include کامپایلر اضافه کنید و graphic2.h را اول برنامه تون include کنید.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان
مي خوام يه راهنمايي بكنين مي خوام يه رشته به صورت زير بگيرم
http://upload.wikimedia.org/math/9/e...8d249908b8.png
بعد مي خوام با استفاده از درخت ها يا هر روش ديگه اي (البته به درخت ها علاقه مندم) اين گزاره رو جدا كنم و بعد اجتماع و اشتراك و .... رو حساب كنم
راهي رو لطفا پيش پام بزارين كه راحت تره دفعه قبل يه سوال پرسيم بيشتر گيج شدم تا راهنمايي
خيلي ممنون
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان.
برنامه ای بنویسید که با تابع بازگشتی + * )( را محاسبه کند؟
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
smahdi1991
سلام
با استفاده از چه چیزی اینو حل کنیم با استفاده از گرافیک؟ یا محیط متنی ؟
سلام به دوسته عزیز راستش برای این که چنین برنامه ای را بنویسی بهتره ار گرافیک استفاده کنی
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام
اكه ما هم بخوايم شركت كنيم بايد جكار كنيم؟
برنامه اي كه قراره بنويسيم جيه؟(البته من حرفه اي نيستما)ولي دوس دارم سعي خودمو كنم
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام
چندتا تمرین هم من میذارم
1- برنامه ای بنویسید که با استفاده ازتوابع آرایه ای به طول n را به صورت پویا ایجاد و سپس مقادیر آنرا بخواند و درنهایت انرا در خروجی چاپ نماید.
2- تابعی بنویسید که دو عدد صحیح گرفته ، عدد اول را به مبنای عدد دوم ببرد.(عدد دوم می تواند عددی در مبناهای 2 ، 8 ، 16 باشد)
3- تابعی بنویسید که رشته ای ه طول حداکثر 80 کاراکتر را گرفته ، تماممی کلمه های انرا معکوس نماید.
(مثال : s i h t s i a k o o b <------------- This is a book)
-
نقل قول: تمرین های زبان برنامه نویسی ++C
اینم یکی دیگه
این خیلی سخته خودم هنوز نتونستم بنویسمش:عصبانی++:
برنامه ای بنویسید که نام فایلی را گرفته و آنرا Zip کند؟
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
baghozi
اینم یکی دیگه
این خیلی سخته خودم هنوز نتونستم بنویسمش:عصبانی++:
برنامه ای بنویسید که نام فایلی را گرفته و آنرا Zip کند؟
بیا این برنامشه اولش توضیح دادiه که کی نوشتتش:چشمک: اما این zip نمی کنه unzip می کنه:چشمک:
/*
* Copyright 1987, 1989 Samuel H. Smith; All rights reserved
*
* This is a component of the ProDoor System.
* Do not distribute modified versions without my permission.
* Do not remove or alter this notice or any other copyright notice.
* If you use this in your own program you must distribute source code.
* Do not use any of this in a commercial product.
*
*/
/*
* UnZip - A simple zipfile extract utility
*
*/
#define version "UnZip: Zipfile Extract v1.0ل of 03-05-89; (C) 1989 S.H.Smith"
typedef unsigned char byte;
typedef long longint;
typedef unsigned word;
typedef char boolean;
#define STRSIZ 256
#include <stdio.h>
#include <io.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/stat.h>
/* ----------------------------------------------------------- */
/*
* Zipfile layout declarations
*
*/
typedef longint signature_type;
#define local_file_header_signature 0x04034b50L
typedef struct local_file_header {
word version_needed_to_extract;
word general_purpose_bit_flag;
word compression_method;
word last_mod_file_time;
word last_mod_file_date;
longint crc32;
longint compressed_size;
longint uncompressed_size;
word filename_length;
word extra_field_length;
} local_file_header;
#define central_file_header_signature 0x02014b50L
typedef struct central_directory_file_header {
word version_made_by;
word version_needed_to_extract;
word general_purpose_bit_flag;
word compression_method;
word last_mod_file_time;
word last_mod_file_date;
longint crc32;
longint compressed_size;
longint uncompressed_size;
word filename_length;
word extra_field_length;
word file_comment_length;
word disk_number_start;
word internal_file_attributes;
longint external_file_attributes;
longint relative_offset_local_header;
} central_directory_file_header;
#define end_central_dir_signature 0x06054b50L
typedef struct end_central_dir_record {
word number_this_disk;
word number_disk_with_start_central_directory;
word total_entries_central_dir_on_this_disk;
word total_entries_central_dir;
longint size_central_directory;
longint offset_start_central_directory;
word zipfile_comment_length;
} end_central_dir_record;
/* ----------------------------------------------------------- */
/*
* input file variables
*
*/
#define uinbufsize 512L /* input buffer size */
byte inbuf[uinbufsize];
boolean zipeof;
longint csize;
int cmethod;
int inpos;
int incnt;
int pc;
int pcbits;
int pcbitv;
int zipfd;
char zipfn[STRSIZ];
local_file_header lrec;
/* ----------------------------------------------------------- */
/*
* output stream variables
*
*/
byte outbuf[4096]; /* for rle look-back */
longint outpos; /* absolute position in outfile */
int outcnt;
int outfd;
char filename[STRSIZ];
char extra[STRSIZ];
/* ----------------------------------------------------------- */
/*
* shrink/reduce working storage
*
*/
int factor;
byte followers[256][64];
byte Slen[256];
int ExState;
int C;
int V;
int Len;
#define max_bits 13
#define init_bits 9
#define hsize 8192
#define first_ent 257
#define clear 256
typedef int hsize_array_integer[hsize+1];
typedef byte hsize_array_byte[hsize+1];
hsize_array_integer prefix_of;
hsize_array_byte suffix_of;
hsize_array_byte stack;
int cbits;
int maxcode;
int free_ent;
int maxcodemax;
int offset;
int sizex;
/* ------------------------------------------------------------- */
void skip_csize(void)
{
lseek(zipfd,csize,SEEK_CUR);
zipeof = 1;
csize = 0L;
incnt = 0;
}
/* ------------------------------------------------------------- */
void ReadByte(int * x)
{
if (incnt == 0)
{
if (csize == 0L)
{
zipeof = 1;
return;
}
inpos = sizeof(inbuf);
if (inpos > csize)
inpos = (int)csize;
incnt = read(zipfd,inbuf,inpos);
inpos = 1;
csize -= incnt;
}
*x = inbuf[inpos-1];
inpos++;
incnt--;
}
/* ------------------------------------------------------------- */
void ReadBits(int bits,
int * x)
/* read the specified number of bits */
{
int bit;
int bitv;
*x = 0;
bitv = 1;
for (bit = 0; bit <= bits-1; bit++)
{
if (pcbits > 0)
{
pcbits--;
pcbitv = pcbitv << 1;
}
else
{
ReadByte(&pc);
pcbits = 7;
pcbitv = 1;
}
if ((pc & pcbitv) != 0)
*x = *x | bitv;
bitv = (int) (bitv << 1);
}
}
/* ---------------------------------------------------------- */
void get_string(int len,
char * s)
{
read(zipfd,s,len);
s[len] = 0;
}
/* ------------------------------------------------------------- */
void OutByte(int c)
/* output each character from archive to screen */
{
outbuf[outcnt /* outpos % sizeof(outbuf) */] = c;
outpos++;
outcnt++;
if (outcnt == sizeof(outbuf))
{
write(outfd,outbuf,outcnt);
outcnt = 0;
printf(".");
}
}
/* ----------------------------------------------------------- */
int reduce_L(int x)
{
switch (factor) {
case 1: return x & 0x7f;
case 2: return x & 0x3f;
case 3: return x & 0x1f;
case 4: return x & 0x0f;
}
return 0; /* error */
}
int reduce_F(int x)
{
switch (factor) {
case 1: if (x == 127) return 2; else return 3;
case 2: if (x == 63) return 2; else return 3;
case 3: if (x == 31) return 2; else return 3;
case 4: if (x == 15) return 2; else return 3;
}
return 0; /* error */
}
int reduce_D(int x,
int y)
{
switch (factor) {
case 1: return ((x >> 7) & 0x01) * 256 + y + 1;
case 2: return ((x >> 6) & 0x03) * 256 + y + 1;
case 3: return ((x >> 5) & 0x07) * 256 + y + 1;
case 4: return ((x >> 4) & 0x0f) * 256 + y + 1;
}
return 0; /* error */
}
int reduce_B(int x)
/* number of bits needed to encode the specified number */
{
switch (x - 1) {
case 0:
case 1: return 1;
case 2:
case 3: return 2;
case 4:
case 5:
case 6:
case 7: return 3;
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15: return 4;
case 16:
case 17:
case 18:
case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31: return 5;
case 32:
case 33:
case 34:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 44:
case 45:
case 46:
case 47:
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63: return 6;
case 64:
case 65:
case 66:
case 67:
case 68:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 78:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 85:
case 86:
case 87:
case 88:
case 89:
case 90:
case 91:
case 92:
case 93:
case 94:
case 95:
case 96:
case 97:
case 98:
case 99:
case 100:
case 101:
case 102:
case 103:
case 104:
case 105:
case 106:
case 107:
case 108:
case 109:
case 110:
case 111:
case 112:
case 113:
case 114:
case 115:
case 116:
case 117:
case 118:
case 119:
case 120:
case 121:
case 122:
case 123:
case 124:
case 125:
case 126:
case 127: return 7;
default: return 8;
}
}
/* ----------------------------------------------------------- */
void Expand(int c)
{
#define DLE 144
switch (ExState) {
case 0:
if (c != DLE)
OutByte(c);
else
ExState = 1;
break;
case 1:
if (c != 0)
{
V = c;
Len = reduce_L(V);
ExState = reduce_F(Len);
}
else
{
OutByte(DLE);
ExState = 0;
}
break;
case 2: {
Len = Len + c;
ExState = 3;
}
break;
case 3: {
int i;
longint offset = reduce_D(V,c);
longint op = outpos - offset;
for (i = 0; i <= Len + 2; i++)
{
if (op < 0L)
OutByte(0);
else
OutByte(outbuf[(int)(op % sizeof(outbuf))]);
op++;
}
ExState = 0;
}
break;
}
}
/* ----------------------------------------------------------- */
void LoadFollowers(void)
{
int x;
int i;
int b;
for (x = 255; x >= 0; x--)
{
ReadBits(6,&b);
Slen[x] = b;
for (i = 0; i < Slen[x]; i++)
{
ReadBits(8,&b);
followers[x][i] = b;
}
}
}
/* ----------------------------------------------------------- */
/*
* The Reducing algorithm is actually a combination of two
* distinct algorithms. The first algorithm compresses repeated
* byte sequences, and the second algorithm takes the compressed
* stream from the first algorithm and applies a probabilistic
* compression method.
*
*/
void unReduce(void)
/* expand probablisticly reduced data */
{
int lchar;
int lout;
int I;
factor = cmethod - 1;
if ((factor < 1) || (factor > 4))
{
skip_csize();
return;
}
ExState = 0;
LoadFollowers();
lchar = 0;
while ((!zipeof))
{
if (Slen[lchar] == 0)
ReadBits(8,&lout);
else
{
ReadBits(1,&lout);
if (lout != 0)
ReadBits(8,&lout);
else
{
ReadBits(reduce_B(Slen[lchar]),&I);
lout = followers[lchar][i];
}
}
Expand(lout);
lchar = lout;
}
}
/* ------------------------------------------------------------- */
/*
* Shrinking is a Dynamic Ziv-Lempel-Welch compression algorithm
* with partial clearing.
*
*/
void partial_clear(void)
{
int pr;
int cd;
/* mark all nodes as potentially unused */
for (cd = first_ent; cd < free_ent; cd++)
prefix_of[cd] |= 0x8000;
/* unmark those that are used by other nodes */
for (cd = first_ent; cd < free_ent; cd++)
{
pr = prefix_of[cd] & 0x7fff; /* reference to another node? */
if (pr >= first_ent) /* flag node as referenced */
prefix_of[pr] &= 0x7fff;
}
/* clear the ones that are still marked */
for (cd = first_ent; cd < free_ent; cd++)
if ((prefix_of[cd] & 0x8000) != 0)
prefix_of[cd] = -1;
/* find first cleared node as next free_ent */
free_ent = first_ent;
while ((free_ent < maxcodemax) && (prefix_of[free_ent] != -1))
free_ent++;
}
/* ------------------------------------------------------------- */
void unShrink(void)
{
int stackp;
int finchar;
int code;
int oldcode;
int incode;
/* decompress the file */
maxcodemax = 1 << max_bits;
cbits = init_bits;
maxcode = (1 << cbits) - 1;
free_ent = first_ent;
offset = 0;
sizex = 0;
for (code = maxcodemax; code > 255; code--)
prefix_of[code] = -1;
for (code = 255; code >= 0; code--)
{
prefix_of[code] = 0;
suffix_of[code] = code;
}
ReadBits(cbits,&oldcode);
finchar = oldcode;
if (zipeof)
return;
OutByte(finchar);
stackp = 0;
while ((!zipeof))
{
ReadBits(cbits,&code);
while (code == clear)
{
ReadBits(cbits,&code);
switch (code) {
case 1: {
cbits++;
if (cbits == max_bits)
maxcode = maxcodemax;
else
maxcode = (1 << cbits) - 1;
}
break;
case 2:
partial_clear();
break;
}
ReadBits(cbits,&code);
}
/* special case for KwKwK string */
incode = code;
if (prefix_of[code] == -1)
{
stack[stackp] = finchar;
stackp++;
code = oldcode;
}
/* generate output characters in reverse order */
while (code >= first_ent)
{
stack[stackp] = suffix_of[code];
stackp++;
code = prefix_of[code];
}
finchar = suffix_of[code];
stack[stackp] = finchar;
stackp++;
/* and put them out in forward order */
while (stackp > 0)
{
stackp--;
OutByte(stack[stackp]);
}
/* generate new entry */
code = free_ent;
if (code < maxcodemax)
{
prefix_of[code] = oldcode;
suffix_of[code] = finchar;
while ((free_ent < maxcodemax) && (prefix_of[free_ent] != -1))
free_ent++;
}
/* remember previous code */
oldcode = incode;
}
}
/* ---------------------------------------------------------- */
void extract_member(void)
{
int b;
union {
struct ftime ft;
struct {
word ztime;
word zdate;
} zt;
} td;
for (b=0; b<sizeof(outbuf); b++) outbuf[b]=0;
pcbits = 0;
incnt = 0;
outpos = 0L;
outcnt = 0;
zipeof = 0;
outfd = creat(filename,S_IWRITE|S_IREAD);
if (outfd < 1)
{
printf("Can't create output: %s\n",filename);
exit(0);
}
close(outfd);
outfd = open(filename,O_RDWR|O_BINARY);
switch (cmethod) {
case 0: /* stored */
{
printf(" Extract: %s ...",filename);
while ((!zipeof))
{
ReadByte(&b);
OutByte(b);
}
}
break;
case 1: {
printf("UnShrink: %s ...",filename);
unShrink();
}
break;
case 2:
case 3:
case 4:
case 5: {
printf(" Expand: %s ...",filename);
unReduce();
}
break;
default: printf("Unknown compression method.");
}
if (outcnt > 0)
write(outfd,outbuf,outcnt);
/* set output file date and time */
td.zt.ztime = lrec.last_mod_file_time;
td.zt.zdate = lrec.last_mod_file_date;
setftime(outfd,&td.ft);
close(outfd);
printf(" done.\n");
}
/* ---------------------------------------------------------- */
void process_local_file_header(void)
{
read(zipfd,&lrec,sizeof(lrec));
get_string(lrec.filename_length,filename);
get_string(lrec.extra_field_length,extra);
csize = lrec.compressed_size;
cmethod = lrec.compression_method;
extract_member();
}
/* ---------------------------------------------------------- */
void process_central_file_header(void)
{
central_directory_file_header rec;
char filename[STRSIZ];
char extra[STRSIZ];
char comment[STRSIZ];
read(zipfd,&rec,sizeof(rec));
get_string(rec.filename_length,filename);
get_string(rec.extra_field_length,extra);
get_string(rec.file_comment_length,comment);
}
/* ---------------------------------------------------------- */
void process_end_central_dir(void)
{
end_central_dir_record rec;
char comment[STRSIZ];
read(zipfd,&rec,sizeof(rec));
get_string(rec.zipfile_comment_length,comment);
}
/* ---------------------------------------------------------- */
void process_headers(void)
{
longint sig;
while (1)
{
if (read(zipfd,&sig,sizeof(sig)) != sizeof(sig))
return;
else
if (sig == local_file_header_signature)
process_local_file_header();
else
if (sig == central_file_header_signature)
process_central_file_header();
else
if (sig == end_central_dir_signature)
{
process_end_central_dir();
return;
}
else
{
printf("Invalid Zipfile Header\n");
return;
}
}
}
/* ---------------------------------------------------------- */
void extract_zipfile(void)
{
zipfd = open(zipfn,O_RDONLY|O_BINARY);
if (zipfd < 1) {
printf("Can't open input file: %s\n",zipfn);
return;
}
process_headers();
close(zipfd);
}
/* ---------------------------------------------------------- */
/*
* main program
*
*/
void main(int argc, char **argv)
{
printf("\n");
printf("%s\n",version);
printf("Courtesy of: S.H.Smith and The Tool Shop BBS, (602) 279-2673.\n");
printf("\n");
if (argc != 2)
{
printf("Usage: UnZip FILE.zip\n");
exit(0);
}
strcpy(zipfn,argv[1]);
extract_zipfile();
exit(0);
}
در ضمن میشه از کتابخونه های آماده استفاده کرد یا یک نرم افزار خارجی رو فرا خوانی کرد تا این کار رو انجام بده...برنامه های قبلیتم کاری نداره نوشتنش:چشمک:
-
1 ضمیمه
نقل قول: تمرین های زبان برنامه نویسی ++C
اینم یک مثال خوب از کپری و آن کمپرس در توربو سی
-
نقل قول: تمرین های زبان برنامه نویسی ++C
[quote=baghozi;947121]سلام
چندتا تمرین هم من میذارم
1- برنامه ای بنویسید که با استفاده ازتوابع آرایه ای به طول n را به صورت پویا ایجاد و سپس مقادیر آنرا بخواند و درنهایت انرا در خروجی چاپ نماید.
2- تابعی بنویسید که دو عدد صحیح گرفته ، عدد اول را به مبنای عدد دوم ببرد.(عدد دوم می تواند عددی در مبناهای 2 ، 8 ، 16 باشد)
#include<conio.h>
#include<iostream.h>
void func(int n)
{
int *arr=new int[n];
int i;
for(i=0;i<n;i++)
cin>>arr[i];
for(i=0;i<n;i++)
cout<<endl<<arr[i];
}
main()
{
int n;
cout<<"lotfan toole araye ra vared konid:";
cin>>n;
func(n);
getch();
}
#include<conio.h>
#include<iostream.h>
int mabna(int n,int m)
{
if(m==10)
{
cout<<n;
return 0;
}
int temp=0,remain;
while(n!=0)
{
remain=n%m;
temp=temp*10+remain;
n=n/m;
}
cout<<temp;
return 0;
}
main()
{
clrscr();
int n;
int m;
cout<<"lotfan adad ra vared konid: ";
cin>>n;
cout<<"\nlotfan mabna ra vared konid: ";
cin>>m;
mabna(n,m);
getch();
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
لطفابگوییدکلاسهای ازنوع interfaceچهگونه ایجاد میشوند؟با تشکر
-
نقل قول: تمرین های زبان برنامه نویسی ++C
لطفا یه سری برنامه جدید بزارین تا حل کنیم
خسته شدم
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
MXMXZ-MXMXZ
سلام.
3 تا تمرین زیر از درس "برنامه سازی(نویسی) کامپیوتر " را میخواستم مثل تمرین آخری حل کنید. متشکرم. زبان c ...
اگه عکس تمرین (1) معلوم نبود همینه : x2 + 2x +1 / x3-2x-9
من که هیچی از برنامه نویسی حالیم نیست میدونم که اینا سوال نیستن
یه سوال درست و حسابی بپرسین تو رو خدا
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام
برای برنامه عوض کردن جای دو عدد a , b :
a=a+b
b=a-b
a=a-b
بقیه اش که زیادی آسون هستند
-
نقل قول: تمرین های زبان برنامه نویسی ++C
حالا خوبه گفتن تازه شروع كنيم شمارفتي مستقيما سراغ گرافيك
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
niloofar_sgh
salam
man vahede daneshgahime C++ vali aslan balad nistam khaheshan komak:افسرده::گریه::ناراحت:
یک سری به سایت www.cpp-coder.com بزنی خوبه! از صفر داره درس میده
-
نقل قول: تمرین های زبان برنامه نویسی ++C
*** یک یادآوری و تذکر به تمام کاربرانی که در این تاپیک پست ارسال می کنند ***
مدت زیادی است که این تاپیک را زیر نظر دارم ، متاسفانه بجای اینکه روی مسائل برنامه نویسی
بحث بشه و از اونا ایده گرفته بشه ، گاها و شاید اکثر وقتا تبدیل میشه به جایی برای حل تمرین ها و پروژه
های دانشجویی ، که خلاف قوانین سایت میباشد ؛ بنابراین خواستم تذکر دهم اگر این تاپیک بخواهد
به مکانی تبدیل شود برای حل تمرین های دانشجویی و درخواست پروژه ، مطمئنا تاپیک قفل خواهد شد ، ولی اگر
جایی باشد برای تفکر و بحث روی مسائل برنامه نویسی و راههای مختلف حل یک مساله و ...
میتواند تاپیک مفید و مثمر ثمری باشد .
با تشکر ، مدیریت بخش .
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان
حاصل عبارت پسوندی عبارت زیر برابر 2 هست چطوری میتونم برنامه ای بنویسم که اونها رو دریافت کنم !
/-3.6*3.2
خروجی =2
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام
من میخوام که یک کلاس بسازم برا مشخصات فردی
و به یک تابع هم نیاز دارم که بتونه سن شخص رو از روی تاریخ تولد حساب کنه
به صورت روز/ماه/سال
فرمولشو لطفا اگه دارین
مرسی
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
سلام دوستان
حاصل عبارت پسوندی عبارت زیر برابر 2 هست چطوری میتونم برنامه ای بنویسم که اونها رو دریافت کنم !
/-3.6*3.2
خروجی =2
از پشته استفاده کن.
به ترتیب مبندازی تو پشته ولی قبلش چک میکنی. مثلا اگه بود :
+5*23
اول دو تا عملوند 2 و 3 رو میریزی تو پشته . بعد به عملگر میرسی یعنی * پس دو عدد قبلیو در هم ضزب میکنی و همرو از پشته میندازی بیرون و حاصلضرب میره تو پشته . بعد کاربر عدد 5 میزنه ، که باز میره تو پشته هنوز به عملگری نرسیدی. بعد + میاد که 2 تا عدد قبلشو جمع میکنی ....
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان
میخوام ببینم کسی کد برنامه ای نداره که طول ، عرض و ارتفاع رو بگیره و حجم رو حساب کنه
نمیدونم باید چطوری بنویسم خیلی برام سخته خواستم برام یک آموزش بشه
من الان در مقطع راهنمایی هستم دوست دارم از الان با این زبان آشنا بشم
ممنون
-
نقل قول: تمرین های زبان برنامه نویسی ++C
برو شناسنامت رو بیار اگه راست بگی من خودم دربست در خدمتتم
-
نقل قول: تمرین های زبان برنامه نویسی ++C
با عرض سلام خدمت اساتید محترم کسی هست در مورد این سئوال به من کمک کنه
فرض کنید جنگلی با بیست ردیف بیستایی درخت در هر مکان درخت می تواند درخت باشد یا نباشد به این جنگل قواعدی حاکم است به نحوی که چیدمان درختان در هر سال با هم متفاوت است تغییرات سالیانه با قواعد زیر مشخص می گردد
1.اگر اطراف درختی بیش ازچهار درخت وجود داشت باشد ان درخت در سال اینده نخواهد بود
2.اگر اطراف مکانی خالی درختی کمتر از چهار درخت وجود داشته با شد در سال آینده در خت خواهد روئید
در سال صفر تنها در قطر اصلی . فرعی ودر ستر های مضرب سه وستون های مضرب سه درخت وجود دارد
جنگل را تا 50 سال شبیه سازی کنید
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام
میشه لطفا بگی پشته چییه عزیز.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان
یه کلاس برای تاریخ (date) میخوام بسازم که روز/ ماه/سال داشته باشه/و از این کلاس تو یه کلاس دیگه به نام person ( مشخصات فردی) به استفاده بشه.
یعنی تاریخ تولد اشخاص از نوع کلاس date و همچنین سن شخص(چند سال و چند ماه و چند روز) از طریق یک متد یا تابع در کلاس person محاسبه شود
اگه میشه / کد رو برا مبزارین/ خیلی ضروریه :ناراحت::ناراحت::ناراحت::نار حت::ناراحت:
class date:
{
private:
int year,month,day;
public:
void setdate( int year1;int month1;int day1)
{
year=year1;month=month1;day=day1;
}
}
class person:
{
private:
char name[35];
char family[40];
date birthday;
date age;
public:
date getage(date birthday)
{
}
کدش تقریبا مثل این/ یه چیزی نوشتیم/ کد تابع محاسبه سن به صورت چند سال و چند ماه و چند روز/ خالیه/ اگه میشه/ ببینید مشکلش چیه/ درستشو برام بزارین
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
dana2020
با عرض سلام خدمت اساتید محترم کسی هست در مورد این سئوال به من کمک کنه
فرض کنید جنگلی با بیست ردیف بیستایی درخت در هر مکان درخت می تواند درخت باشد یا نباشد به این جنگل قواعدی حاکم است به نحوی که چیدمان درختان در هر سال با هم متفاوت است تغییرات سالیانه با قواعد زیر مشخص می گردد
1.اگر اطراف درختی بیش ازچهار درخت وجود داشت باشد ان درخت در سال اینده نخواهد بود
2.اگر اطراف مکانی خالی درختی کمتر از چهار درخت وجود داشته با شد در سال آینده در خت خواهد روئید
در سال صفر تنها در قطر اصلی . فرعی ودر ستر های مضرب سه وستون های مضرب سه درخت وجود دارد
جنگل را تا 50 سال شبیه سازی کنید
من سال صفر رو درست کردم مشکلم اینه که چطوری از این ارایه استفاده کنم
-
نقل قول: تمرین های زبان برنامه نویسی ++C
برنامه ای برای تاریخ وساعت میخوام بنویسم که روز/ ماه/سال داشته باشه خودم ساعت رونوشتم اما نمیدونم کجابایدتاریخ توی برنامه جابدم؟میشه واسم توضیح بدید
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
maryam126
برنامه ای برای تاریخ وساعت میخوام بنویسم که روز/ ماه/سال داشته باشه خودم ساعت رونوشتم اما نمیدونم کجابایدتاریخ توی برنامه جابدم؟میشه واسم توضیح بدید
دوست عزیز.
سوالتون رو تو یه تاپیک مجزا بپرسید و فقط یک بار هم بپرسید لطفا.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
این برنامه قراره یک فرودگاه رو مدیریت کنه البته این رو برا یکی از دانشجوها نوشتم.
سطحش خیلی پایینه ولی بازم برای بعضی ها که دوست دارن یاد بگیرن خوبه.. بد نیست.
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <time.h>
#include <stdio.h>
void main()
{
struct time t;
time_t d;
float r,x,v;
int b=1,i=0,status=0,m=0,p=0,f=0,n;
int landing_time=0,landing_rate=5,taking_off=0,taking_ rate=5;
float tol_land=5,tol_take=5;
float time_land=0,time_take=0;
clrscr();
srand((unsigned) time(&d));
while (b)
{
if(status==1)
{
m--;
if(m==0)
{
if(p==1)
{
taking_rate--;
p=0;
status=0;
}//end of p
if(f==1)
{
landing_rate--;
f=0;
status=0;
}//end of f
}//end of m
}//end of status
delay(1000);
gettime(&t);
clrscr();
printf("The current time is: %2d:%02d:%02d\n",t.ti_hour, t.ti_min, t.ti_sec);
if((t.ti_sec % 5) ==0)
{
r=random(60);
r/=60;
v=landing_rate;
x=v/60;
if(r<=x)
landing_rate++;
if(tol_land<landing_rate)
tol_land=landing_rate;
r=random(60);
r/=60;
v=taking_rate;
x=v/60;
if(r<=x)
taking_rate++;
if(tol_take<taking_rate)
tol_take=taking_rate;
if(status==0)
{
if(landing_rate>0)
{
m=random(5);
if(m==0)
m++;
status=1;
f=1;
time_land+=m;
time_land/=2;
goto l1;
}//end of landing_rate
if(taking_rate>0)
{
m=random(5);
if(m==0)
m++;
status=1;
p=1;
time_take+=m;
time_take/=2;
goto l1;
}//end of taking_rate
}//end of status
l1:
}//end of t.ti_sec
cout <<"\ntake_rate land_rate take_time land_time status take land time\n";
cout <<"\n "<<taking_rate<<"\t\t"<<landing_rate<<"\t "<<taking_off<<"\t\t"<<landing_time<<"\t "<<status<<"\t "<<p<<"\t "<<f<<"\t"<<m;
if(taking_rate==0 && landing_rate==0)
b=0;
}//end of while
clrscr();
cout <<"average length of queue landing is:\t"<<tol_land/2<<"\n";
cout <<"average length of queue taking is:\t"<<tol_take/2<<"\n";
cout <<"average time of landing is:\t"<<time_land<<"\n";
cout <<"average time of taking is:\t"<<time_take<<"\n";
getch();
}//end of program
-
نقل قول: تمرین های زبان برنامه نویسی ++C
برنامه تمام زیر مجموعه های یک مجموعه برای 10 کاراکتر.
#include <iostream.h>
#include <conio.h>
void main()
{
char a[10];
int i,j,k,l,m,n,o,p,q,r,s,t,u;
cout <<"enter 10 character...\n";
for (i=0;i<10;i++)
cin >>a[i];
clrscr();
getch();
i=0;
cout <<i<<" \n";
for (j=0;j<10;j++)
{
i++;
cout <<i<<" "<<a[j]<<"\n";
}
for (j=0;j<9;j++)
for (k=j+1;k<10;k++)
{
if(i % 20==0)
{
getch();
clrscr();
}
i++;
cout <<i<<" "<<a[j]<<","<<a[k]<<"\n";
}
for (j=0;j<8;j++)
for (k=j+1;j<9;j++)
for (l=k+1;l<10;l++)
{
if(i%20==0)
{
getch();
clrscr();
}
i++;
cout <<i<<" "<<a[j]<<","<<a[k]<<","<<a[l]<<"\n";
}
for (j=0;j<7;j++)
for (k=j+1;k<8;k++)
for (l=k+1;l<9;l++)
for (m=l+1;m<10;m++)
{
if(i%20==0)
{
getch();
clrscr();
}
i++;
cout <<i<<" "<<a[j]<<","<<a[k]<<","<<a[l]<<","<<a[m]<<"\n";
}
for (j=0;j<6;j++)
for (k=j+1;k<7;k++)
for (l=k+1;l<8;l++)
for (m=l+1;m<9;m++)
for (n=m+1;n<10;n++)
{
if(i%20==0)
{
getch();
clrscr();
}
i++;
cout <<i<<" "<<a[j]<<","<<a[k]<<","<<a[l]<<","<<a[m]<<","<<a[n]<<"\n";
}
for (j=0;j<5;j++)
for (k=j+1;k<6;k++)
for (l=k+1;l<7;l++)
for (m=l+1;m<8;m++)
for (n=m+1;n<9;n++)
for(o=n+1;o<10;o++)
{
if(i%20==0)
{
getch();
clrscr();
}
i++;
cout <<i<<" "<<a[j]<<","<<a[k]<<","<<a[l]<<","<<a[m]<<","<<a[n]<<","<<a[o]<<"\n";
}
for (j=0;j<4;j++)
for (k=j+1;k<5;k++)
for (l=k+1;l<6;l++)
for (m=l+1;m<7;m++)
for (n=m+1;n<8;n++)
for(o=n+1;o<9;o++)
for (p=0+1;p<10;p++)
{
if(i%20==0)
{
getch();
clrscr();
}
i++;
cout <<i<<" "<<a[j]<<","<<a[k]<<","<<a[l]<<","<<a[m]<<","<<a[n]<<","<<a[o]<<","<<a[p]<<"\n";
}
for (j=0;j<3;j++)
for (k=j+1;k<4;k++)
for (l=k+1;l<5;l++)
for (m=l+1;m<6;m++)
for (n=m+1;n<7;n++)
for(o=n+1;o<8;o++)
for (p=0+1;p<9;p++)
for (q=p+1;q<10;q++)
{
if(i%20==0)
{
getch();
clrscr();
}
i++;
cout <<i<<" "<<a[j]<<","<<a[k]<<","<<a[l]<<","<<a[m]<<","<<a[n]<<","<<a[o]<<","<<a[p]<<","<<a[q]<<"\n";
}
for (j=0;j<2;j++)
for (k=j+1;k<3;k++)
for (l=k+1;l<4;l++)
for (m=l+1;m<5;m++)
for (n=m+1;n<6;n++)
for(o=n+1;o<7;o++)
for (p=0+1;p<8;p++)
for (q=p+1;q<9;q++)
for (r=q+1;r<10;r++)
{
if(i%20==0)
{
getch();
clrscr();
}
i++;
cout <<i<<" "<<a[j]<<","<<a[k]<<","<<a[l]<<","<<a[m]<<","<<a[n]<<","<<a[o]<<","<<a[p]<<","<<a[q]<<","<<a[r]<<"\n";
}
i++;
cout <<i<<" "<<a[0]<<","<<a[1]<<","<<a[2]<<","<<a[3]<<","<<a[4]<<","<<a[5]<<","<<a[6]<<","<<a[7]<<","<<a[8]<<","<<a[9]<<"\n";
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
برنامه ای برای نجام برخی اعمال بر روی لیست پیوندی
#include <iostream.h>
#include <conio.h>
struct node{
int x;
node *prev,*next;
}*start,*p,*q;
void add(int,int);
void dell(int);
void print();
void main()
{
int x,n,i,y;
cout <<"enter number node: ";
cin >>n;
start=new (node);
cout<<&start<<"\n";
getch();
cout <<"enter data: ";
cin >>x;
start->x=x;
start->prev=NULL;
start->next=NULL;
p=start;
cout<<&p<<"\n";
for(i=2;i<=n;i++)
{
q=new (node);
cout<<&q<<"\n";
p->next=q;
q->prev=p;
q->next=NULL;
cout <<"enter data: ";
cin >>x;
q->x=x;
p=q;
}
getch();
clrscr();
p=start;
while(p!=NULL)
{
cout <<&p<<p->x<<"\n";
p=p->next;
}
getch();
cout<<"enter data for add: ";
cin >>x;
cout <<"this data add after ?: ";
cin >>y;
add(x,y);
//print();
getch();
clrscr();
cout <<"enter data for delete: ";
cin >>x;
dell(x);
//print();
getch();
}
//***************************
void add(int x,int y)
{
node *s,*z;
s=start;
while(s->x!=y)
s=s->next;
z=new(node);
z->next=s->next;
s->next=z;
s=z->next;
s->prev=z;
z->x=x;
}
//***************************
void dell(int x)
{
node *s,*t,*r;
s=start;
t=start;
r=start;
while(t->x!=x)
t=t->next;
s=t->prev;
r=t->next;
s->next=r;
r->prev=s;
}
//***************************
void print ()
{
node *u;
int d;
u=start;
while(u!=NULL)
{
d=u->x;
cout <<d<<" ";
u=u->next;
}
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
برنامه ای برای تبدیل اعداد از مبنای 10 به هر مبنایی
#include <iostream.h>
#include <conio.h>
void main()
{
int num,x,m,i=0,r,j;
char ch[10];
cin >>num;
x=num;
cout <<"enter mabna:\t";
cin>>m;
while(x>0)
{
r=x%m;
switch (r)
{
case 0:
ch[i]=48;
i++;
break;
case 1:
ch[i]=49;
i++;
break;
case 2:
ch[i]=50;
i++;
break;
case 3:
ch[i]=51;
i++;
break;
case 4:
ch[i]=52;
i++;
break;
case 5:
ch[i]=53;
i++;
break;
case 6:
ch[i]=54;
i++;
break;
case 7:
ch[i]=55;
i++;
break;
case 8:
ch[i]=56;
i++;
break;
case 9:
ch[i]=57;
i++;
break;
case 10:
ch[i]='A';
i++;
break;
case 11:
ch[i]='B';
i++;
break;
case 12:
ch[i]='c';
i++;
break;
case 13:
ch[i]='D';
i++;
break;
case 14:
ch[i]='E';
i++;
break;
case 15:
ch[i]='F';
i++;
break;
}
x/=m;
}
clrscr();
for (j=i-1;j>=0;j--)
cout <<ch[j];
getch();
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
دوستان سلام
(زبان C++)
اعضای یک آرابه دو بعدی که تعداد آن را کاربر مشخص می کند گرفته و مجموع آرایه ها را به صورت بازگشتی محاسبه کند.
(ممنون میشم پاسخ بدین)
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوست عزیز.
می تونی به این روش انجامش بدی. اما این یه روش یه مقدار پیچیدس. یه روش راحت تر دیگه هم داره. من اون روش راحت تر رو گذاشتم تا خودت بش برسی.
int sum(int **p,int n,int i){
if (n==0)
return p[0][0];
return p[n/i][n%i]+sum(p,n-1,i);
}
i تعداد سطر های یک ماتریس مربعی است. n در واقع i*i-1 است. و p هم آدرس این ماتریس مربعی پویاست.
در گام اول سعی کن تابع رو به این روش تغییر بدی که بجای n با i , j که ابعاد ماتریس هستن تغییرش بدی. بعدهم ماتریس رو از شکل مربعی خارج کنی و به هر شکلی که خواستی درش بیاری.
موفق باشی.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان من تازه يه كتاب ++C خريدم و يه بار خوندمش اما هيچي ياد نگرفتم الان ميخوام يه برنامه بنويسم كه كار يك دفترچه تلفن رو انجام بده يعني بشه اطلاعات رو بهش وارد كرد و يا اطلاعات قبلي رو ويرايش كرد و يا حذف كرد همچنين بشه اطلاعات رو بر اساس شماره رديف يا شماره تلفن و يا نام جستجو كرد و همه اين شماره تلفن ها و نام اشخاص رو در يك فايل txt ذخيره كنه بدون اينكه قاطي بشن.
خواهش ميكنم يهويي يه كپي ور ندارين بزارين بگين اين برنامه برو حالشو ببر اصلا به هيچ وجه اين كار رو نكنيد :عصبانی: راستش خودم ميخوام كار كنم ياد بگيرم فقط اگه ميشه مرحله به مرحله راهنماييم كنيد.
تا اينجاش رو خودم ميدونم كه بايد از آرايه استفاده كنم ولي نميدونم چطور.
در ضمن ورژن ++C كه كار ميكنم 5.02 هست.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان من یه پروژه دارم کارم گیره از دوستان کسی هست کمکم کنه
(بازی حدس زدن یک عدد 5 رقمی)
برنامه ابتدا یک عدد 5رقمی تولید می کند وبدون آنکه این عدد را به کاربر نشان دهد 5علامت(مثلا *) نمایش می دهد . کاربر سعی میکند از سمت چپ به براست ارقام راحدس بزند هرگاه کاربر رقمی را درست حدس می زند رقم نمایش داده می شود وبعد کاربر باید عدد بعدی راحدس بزند:
1-عدد 5رقمی باید دارای رقم های غیرتکراری باشد
2-برنامه باید تعداد حدس های کاربر را(به ازای همه ارقام)مشخص کند ودرنهایت باتوجه به تعداد حدس های کاربر تعیین کند که برنده شده است یا نه.
3-پس از پایان هردوره ، برنامه ازکاربر بپرسد که آیا مایل است دوباره بازی کند واگر کاربر موافق بود ، بازی دوباره تکرار شود.
تروخدا اگه میتونید کمکم کنید برنامه رو باید خروجی بگیرم
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
khalilimehdi
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام دوستان من یه پروژه دارم کارم گیره از دوستان کسی هست کمکم کنه
(بازی حدس زدن یک عدد 5 رقمی)
برنامه ابتدا یک عدد 5رقمی تولید می کند وبدون آنکه این عدد را به کاربر نشان دهد 5علامت(مثلا *) نمایش می دهد . کاربر سعی میکند از سمت چپ به براست ارقام راحدس بزند هرگاه کاربر رقمی را درست حدس می زند رقم نمایش داده می شود وبعد کاربر باید عدد بعدی راحدس بزند:
1-عدد 5رقمی باید دارای رقم های غیرتکراری باشد
2-برنامه باید تعداد حدس های کاربر را(به ازای همه ارقام)مشخص کند ودرنهایت باتوجه به تعداد حدس های کاربر تعیین کند که برنده شده است یا نه.
3-پس از پایان هردوره ، برنامه ازکاربر بپرسد که آیا مایل است دوباره بازی کند واگر کاربر موافق بود ، بازی دوباره تکرار شود.
تروخدا اگه میتونید کمکم کنید برنامه رو باید خروجی بگیرم
سلام دوست عزیز.
خوب هر چقدر کد نوشتی رو بذار تا یواش یواش تکمیل بشه.
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
khalilimehdi
سلام دوستان من یه پروژه دارم کارم گیره از دوستان کسی هست کمکم کنه
(بازی حدس زدن یک عدد 5 رقمی)
برنامه ابتدا یک عدد 5رقمی تولید می کند وبدون آنکه این عدد را به کاربر نشان دهد 5علامت(مثلا *) نمایش می دهد . کاربر سعی میکند از سمت چپ به براست ارقام راحدس بزند هرگاه کاربر رقمی را درست حدس می زند رقم نمایش داده می شود وبعد کاربر باید عدد بعدی راحدس بزند:
1-عدد 5رقمی باید دارای رقم های غیرتکراری باشد
2-برنامه باید تعداد حدس های کاربر را(به ازای همه ارقام)مشخص کند ودرنهایت باتوجه به تعداد حدس های کاربر تعیین کند که برنده شده است یا نه.
3-پس از پایان هردوره ، برنامه ازکاربر بپرسد که آیا مایل است دوباره بازی کند واگر کاربر موافق بود ، بازی دوباره تکرار شود.
تروخدا اگه میتونید کمکم کنید برنامه رو باید خروجی بگیرم
من دانشجو رشته نرم افزار ،ترم دوم هستم.
دوستان این پروژه به نظرم خیلی جالبه!
وقتی خوندمش ،علاقه مند شدم که بنویسم. میشه در ابتدا راهنماییم کنید؟؟؟؟؟؟؟؟؟؟؟
برنامه در ابتدا با استفاده از چه دستوری یه عدد 5 رقمی تولید میکنه؟
-
نقل قول: تمرین های زبان برنامه نویسی ++C
سلام
برنامه اي كه يك رشته و 2 كلمه از ورودي بگيرد و در رشته كلمه دوم را جايگزين كلمه اول كند.
من بر نامه رو بصورت زير نوشتم كه نقص داره اگه راهنمايي كنيد كاملش كنم ممنون ميشم.
#include<iostream.h>
#include<conio.h>
#include<string.h>
main(){
char s[100];
char sh1[20];
char sh2[20];
int k,l,o,j=0,z,n=0,w ;
char m[20];
cin.get(s,99);
cout<<"s="<<s ;
cout<<endl;
cin>>sh1;
cin>>sh2;
k=strlen(sh1);
l=strlen(sh2);
o=l-k;
cout<<"k="<<k<<endl<<"l="<<l<<endl<<"o="<<o<<endl;
for (int i=0;s[i];i++)
if(s[i]==sh1[0]){
z=i;
w=i;
j=0;
for(int a=i;a<=i+k-1;a++){
m[j]=s[a];
j++;
}
if(strcmp(sh1,m)==0){
for(;s[a];a++){
s[w+o]=s[w];
w++;}
for(;z<=i+l;z++){
s[z]=sh2[n];
n++;
}
}
}
cout<<"sjadid="<<s;
getch();
return 0;
}
-
نقل قول: تمرین های زبان برنامه نویسی ++C
نقل قول:
نوشته شده توسط
saeid6994
سلام
برنامه اي كه يك رشته و 2 كلمه از ورودي بگيرد و در رشته كلمه دوم را جايگزين كلمه اول كند.
من بر نامه رو بصورت زير نوشتم كه نقص داره اگه راهنمايي كنيد كاملش كنم ممنون ميشم.
#include<iostream.h>
#include<conio.h>
#include<string.h>
main(){
char s[100];
char sh1[20];
char sh2[20];
int k,l,o,j=0,z,n=0,w ;
char m[20];
cin.get(s,99);
cout<<"s="<<s ;
cout<<endl;
cin>>sh1;
cin>>sh2;
k=strlen(sh1);
l=strlen(sh2);
o=l-k;
cout<<"k="<<k<<endl<<"l="<<l<<endl<<"o="<<o<<endl;
for (int i=0;s[i];i++)
if(s[i]==sh1[0]){
z=i;
w=i;
j=0;
for(int a=i;a<=i+k-1;a++){
m[j]=s[a];
j++;
}
if(strcmp(sh1,m)==0){
for(;s[a];a++){
s[w+o]=s[w];
w++;}
for(;z<=i+l;z++){
s[z]=sh2[n];
n++;
}
}
}
cout<<"sjadid="<<s;
getch();
return 0;
}
سلام دوست عزیز.
اولین مشکل شما اینه که در رشته هایی که می سازید، مقدار NULL که نشاندهنده آخر رشته هست رو کپی نمی کنید. در این حالت رشته شما از نظر طول دچار اشکال می شه و شما نمی تونید این رشته رو با رشته های دیگه مقایسه کنید.
مشکل دوم هم اینه که برنامه شما به اولین کارکتر مشترک که می رسه به اندازه طول رشته اول کپی می کنه و بعد مقایسه می کنه. اما اگه این رشته با رشته اول مساوی نباشه دریگه رشته های دیگه رو چک نمی کنه.
مشکل NULL رو که حل کنی، مشکلات دیگه خودشون رو نشون می دن. یه دسترسی غیر مجاز به حافظه هم داری که بعد از حل NULL خودشو نشون می ده.
این ها رو اصلاح کن، اگر باز هم جایی مشکل داشتی بگو.
یا علی!