شما عضو نیستید, برای دسترسی کامل به سایت لطفا از طریق این لینک ثبت نام نمائید.     close
 

تالارهای گفتمان جی تاک

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


بازگشت   تالارهای گفتمان جی تاک برنامه نویسی , طراحی وب و موضوعات مرتبط برنامه نویسی C, C++ and Visual C
ارسال موضوع جدید  پاسخ
 
لینک مستقیم ابزارهای موضوع جستجو در موضوع
قدیمی 14th July 2007   #1

Pasalari

مدیر بخش کامپیوتر و تکنولوژی

 Pasalari آواتار ها

تاریخ عضویت: Jan 2007
محل سکونت: ایران
نوشته ها: 4,106
تشکر از دیگران: 517
تشکر شده 4,310 بار در 2,114 پست

 

برنامه ماتريس معكوس

نوشته شده در++c

اينم برنامه ماتريس معكوس شايد براي كسي مفيد باشه
خودم نوشتم اگه يه موقع اشكال داشت ببخشيد
ضمنا كليك راست كرده و از قسمت Encoding گزينه left to right document را بزنيد.
/*Matrix Reverse */
#include <math.h>
#include <iomanip.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
int p=1;
float det(int i1,int j1,int i4,int j4,int n,float x[10][10]);
int hams(int i1,int j1,int n,float x[10][10]);
int main()
{
float x[10][10],det1,y[2][2]; int n,r=1;
cout<<"Enter n for Matrix n*n: "; cin>>n;
if(n==1) cout<<"there is not matrix.";
else {
cout<<"\nEnter "<<n*n<<" number.\n";
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++) cin>>x[i][j];
det1=det(1,1,n,n,n,x);
cout<<"Determinan x is : "<<det1<<endl;
cout<<"\nMatrix Reverse Is :"<<endl;
if(n==2) { y[1][1]=x[2][2]; y[2][2]=x[1][1]; y[1][2]=-x[1][2]; y[2][1]=-x[2][1];
for(i=1;i<=2;i++)
for(int j=1;j<=2;j++) {
cout<<setw(8)<<setprecision(2)<<y[i][j]/det1;
if(j==2) cout<<endl;}}
else {
for(i=1;i<=n;i++)
for(int j=1;j<=n;j++) { cout<<setw(8)<<setprecision(2)<<(hams(j,i,n,x)/det1)*r; r*=-1;
if(j==n) cout<<endl;}} }
return 0;}
/*in ghesmat determinane x ra hesab mikonad */
float det(int i1,int j1,int i4,int j4,int n,float x[10][10]) {
if(n==2) {int i2,i3,j2,j3; i2=i1; j2=j4; i3=i4; j3=j1; return x[i1][j1]*x[i4][j4]-x[i2][j2]*x[i3][j3];}
float sum=0;
for(int k=j1;k<=j4;k++) {
if(k==j1) sum+=p*x[i1][k]*det(i1+1,j1+1,i4,j4,i4-i1,x);
else if(k==j4) sum+=p*x[i1][k]*det(i1+1,j1,i4,j4-1,i4-i1,x);
else sum+=p*x[i1][k]*det(i1+1,j1,i4,j4,i4-i1,x);
p*=-1; }
return sum; }
/* in ghesmat hamsaze x ra hesab mikonad */
int hams(int i1,int j1,int n,float x[10][10]) {
float z[10][10]; int k=1,l=1,s;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++) {
if(i!=i1 && j!=j1) { z[k][l]=x[i][j];
if(l==n-1) {++k; l=0;}
++l; } }
s=det(1,1,n-1,n-1,n-1,z);
return s;}

تمام شد...

Pasalari آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
2 کاربر از شما به خاطر پست مفیدتان تشکر کرده اند :
قدیمی 14th July 2007   #2

Pasalari

مدیر بخش کامپیوتر و تکنولوژی

 Pasalari آواتار ها

تاریخ عضویت: Jan 2007
محل سکونت: ایران
نوشته ها: 4,106
تشکر از دیگران: 517
تشکر شده 4,310 بار در 2,114 پست

 

برنامه اي كه دترمينان رو حساب ميكنه

اینم یه برنامه که دترمینان رو حساب میکنه...

/*Determinan Matrix*/
#include <math.h>
#include <iomanip.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
int p=1;
float det(int i1,int j1,int i4,int j4,int n,float x[10][10]);
int main()
{
clrscr();
float x[10][10]; int n;
cout<<"Enter n for Matrix n*n: "; cin>>n; cout<<"\nEnter "<<n*n<<" number.\n";
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++) cin>>x[i][j];
cout<<det(1,1,n,n,n,x);
return 0;}
float det(int i1,int j1,int i4,int j4,int n,float x[10][10]) {
if(n==2) {int i2,i3,j2,j3; i2=i1; j2=j4; i3=i4; j3=j1; return x[i1][j1]*x[i4][j4]-x[i2][j2]*x[i3][j3];}
float sum=0;
for(int k=j1;k<=j4;k++) {
if(k==j1) sum+=p*x[i1][k]*det(i1+1,j1+1,i4,j4,i4-i1,x);
else if(k==j4) sum+=p*x[i1][k]*det(i1+1,j1,i4,j4-1,i4-i1,x);
else sum+=p*x[i1][k]*det(i1+1,j1,i4,j4,i4-i1,x);
p*=-1; }
return sum; }

دترمينان به اين ترتيب عمل ميكنه كه ابتدا آرايه ها و نيازها رو خود تابع دريافت ميكنه.
در خود تابع از سطر اول عدد اول رو انتخاب و در دترمينان ماتريس بغير از سطر اول و ستون اول ضرب ميكنه
عدد انتخاب شده سه حالت داره كه يا عدد اول سطر يا عدد آخر سطر يا عدد غير از آنها كه براي هركدام مقدار ورودي تابع فرق ميكنه
و به همين ترتيب عدد دوم سطر و سوم و... تاوقتي كه ماتريس 2*2 بدست مياد
براي حساب كردنه ماتريس معكوس، ما به دترمينان و ماتريس همسازه نياز داريم كه ماتريس همسازه نيز در تابع جداگانه با نامdet و hams آمده است.

Pasalari آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
3 کاربر از شما به خاطر پست مفیدتان تشکر کرده اند :
قدیمی 14th July 2007   #3

Pasalari

مدیر بخش کامپیوتر و تکنولوژی

 Pasalari آواتار ها

تاریخ عضویت: Jan 2007
محل سکونت: ایران
نوشته ها: 4,106
تشکر از دیگران: 517
تشکر شده 4,310 بار در 2,114 پست

 

اینم توضیحات کوچولو درمورد دترمینان...

i1 : مشخصه سطر اول ماتريس j1 : مشخصه ستون اول ماتريس
i4 : مشخصه سطر آخر ماتريس j4 : مشخصه ستون آخر ماتريس
k : شمارنده حلقه for به تعداد مرتبه ماتريس ( تعداد ستونهاي ماتريس)
p : براي تغيير دادن علامت ستون زوج ماتريس . براي بدست آوردن دترمينان يكي در ميان در منفي ضرب ميشوند.

اگر مرتبه ماتريس (n) بزرگتر از 2 يعني 3يا4 يا... باشد اعداد سطر اول را در دترمينان حاصل از حذف سطر و ستون همان عدد ضرب ميكند. مثلا عدد اول سطر اول (x[i1][k] ) را برداشته و آن را در دترمينان حاصل از خذف سطر اول و ستون اول ضرب ميكند.

عددي كه برداشته ميشود 3 حالت دارد 1- اولين عدد سطر 2- آخرين عدد سطر 3- اعداد بين اول و آخر سطر

براي اولي ما بايد سطر اول و ستون اول را حذف كنيم --- i1+1 سطر دوم را جايگزين سطر اول ميكند. و j1+1 ستون دوم را جايگزين اول ميكند . سطر و ستون آخر خودشان و i4-i1 همان n جديد يعني مرتبه ماتريس منهاي يك.

براي دومي بايد سطر اول و ستون آخر را حذف كنيم .---i1+1 سطر دوم جايگزين سطر اول . --- j1 ستون اولي خودش . --- j4 سطر آخري خودش ---j4-1 ستون آخر حذف و ستون قبلي جايگزين آن ميشود.

براي سومي سطر و ستون اول و آخر تغيير نميكند فقط مرتبه ماتريس يكي كم ميشود .

اين روند ادامه پيدا ميكند تا وقتي كه مرتبه ماتريس به 2 برسد كه دتر مينان آن را به صورت دستي حساب كردم يعني جايي كه نوشته شده if (n = = 2 )


پيشنهاد ميكنم به صورت دستي روي كاغذ با نوشتن مشخصه ها و تغييرات آنها امتحان كني تا بهتر متوجه بشي.

اميدوارم توضيح مفيد بوده باشه. اگه خوب توضيح ندادم ببخشيد.

Pasalari آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
3 کاربر از شما به خاطر پست مفیدتان تشکر کرده اند :
قدیمی 25th February 2010   #4

layani

کاربر سایت

 layani آواتار ها

تاریخ عضویت: Apr 2009
نوشته ها: 1
تشکر از دیگران: 0
تشکر شده 0 بار در 0 پست

 

خیلی ممنون از برنامتون. اما یه ماتریس 4*4 تو مطلب دادم و حساب کرد اما با جواب برنامه ی شما فرق می کنه - اگه میشه برنامه درست رو به [فقط كسانی ميتوانند لينكها را مشاهده كنند كه عضو سايت باشند. ] بفرستید. بازم ممنونم

layani آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
قدیمی 3rd March 2011   #5

S a R a

کاربر سایت

 S a R a آواتار ها

تاریخ عضویت: Mar 2011
محل سکونت: جایی همین نزدیکی
نوشته ها: 14
تشکر از دیگران: 143
تشکر شده 42 بار در 23 پست

حالت
Cloud_9

 

سلام دوستان

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

متشکرم.

S a R a آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
S a R a ، کاربر روبرو از شما به خاطر پست مفیدتان تشکر کرده است :
قدیمی 6th December 2011   #6

mahnaz dolaty

کاربر سایت

 mahnaz dolaty آواتار ها

تاریخ عضویت: Dec 2011
نوشته ها: 1
تشکر از دیگران: 2
تشکر شده 0 بار در 0 پست

حالت
Busy

 

9 ماتریس معکوس

سلام میشه محاسبه ماتریس معکوس روبا زبان پاسکال برام بذارین .ممنون از لطف شما

mahnaz dolaty آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
پاسخ


کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان)
 
ابزارهای موضوع جستجو در موضوع
جستجو در موضوع:

جستجوی پیشرفته

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

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
کد HTML غیر فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال



ست مروارید عشق

بهترین هدیه برای دختران و خانم ها :
زیبا ترین و جذاب ترین هدیه سال برای دختر خانم ها و بانوان محترم

تولد – سالگرد ازدواج –هدیه آشنایی - روز عشق و ....

خودتان مروارید داخل صدف زنده كه در كنسرو شیشه ای بسته بندی شده است را در بیاورید و در قسمت مخصوصش در گردنبند قرار دهید

» برای مشاهده توضیحات و تصاویر بیشتر اینجا را کلیک کنید ...
 

روش خرید: برای خرید پس از کلیک روی دکمه زیر و تکمیل فرم سفارش، ابتدا محصول مورد نظر را درب منزل یا محل کار تحویل بگیرید، سپس وجه کالا و هزینه ارسال را به مامور پست بپردازید. جهت مشاهده فرم خرید، روی دکمه زیر کلیک کنید.

قیمت: 8900 تومان

 


Powered by vBulletin Version 3.8.6 & Our Members
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2
Host & Support By Kimiahost Co
© Copyright 2005-2010 Gtalk.ir
سایت سرگرمی و تفریحی * ثبت هاستینگ و دامنه * سایت سرگرمی و عکس های جالب * فروشگاه تکچین ، فروشگاه اینترنتی تکچین هدایای جالب و لوکس * ست مروارید عشق * سایت یک در یک ، فال و طالع بینی ، عکس ، مقالات آموزشی، پیامک های جالب *آموزش لاغری در 10 دقیقه *شارژ موبایل با باطری قلمی *بهترین هدیه روز مادر و روز زن *راه های افزایش قد + حرکات جادویی *ساعت LED آدیداس adidas *ساعت بدون عقربه Gucci *دستگاه کپی SMS و شماره تلفن *ست چاقوی میراکل بلید *دماسنج عشق *سایت هدفمند سازی یارانه ها *برچسب ضد اشعه امواج مضر موبایل * ساعت و گردنبند جادویی آرامبخش *مجله اینترنتی پی سی پارسی *بزرگترین شهر دانلود *فال و طالع بینی -تاروت *دانلود *پک سفیدکننده دندان اصل Whitelight *پاتوق تفريحي ايرانيان *سرگرمی و تفریحی شهرشب * کرم موبر باله آ اصل - Balea Cream *توپترينها *موبفا-مرجع تخصصی موبایل *قره جه طیار ، انتخابات گنبد *عکسهای بازیگران * درج آگهي و تبليغات *مجله تاپ مگ *هاست ایرانی ، میزبانی ملی *خرید زیور آلات ، بدلیجات ، مروارید *پنل ارسال sms *عکس *پاتوق اینترنتی *عکس *مجله تفریحی خبری فان فارس *تبادل لینک با ما - رنک 3 به بالا