نمایش نتایج 1 تا 12 از 12

نام تاپیک: یه سوال ساده در کار با آرایه و ماتریس

  1. #1
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    کرمانشاه
    پست
    174

    یه سوال ساده در کار با آرایه و ماتریس

    با سلام من یه ماتریس دارم که انذازه شو از ورودی می گیرم همینطور مقادیرشو و یه ارایه به اسم A دارم که تعدادی عدد داخل اونه
    حالا می خوام هر سطر از ماتریس که شماره اش یکی از مقادیر ارایه A هست رو بررسی کنم و شماره ستون هایی که تو سطر مورد نظر مقدارشون یکه رو بریزم تو یه ارایه . مشکل من اینه که نمی دونم چطور اسم ارایه ها رو تعیین کنم؟







  2. #2
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491

    نقل قول: یه سوال ساده

    سوال شما را خوب متوجه نشدم، احتمالا منظور شما این است که چطور به سطرهای آرایه دسترسی داشته باشم؟ برای دسترسی جداگانه به سطرهای آرایه:

    int i[2][3] = {{1, 2, 3}, {4, 5, 6}};
    int* p = i[1];
    std::cout << p[0] << std::endl;

    محدوده شمارهٔ ستونها در اشاره‌گر p کنترل و بررسی نمی‌شود، پس شما باید کنترل کنید که برای دسترسی به ستون‌ها توسط p، از تعداد کل ستون‌ها فراتر نروید.

  3. #3
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    34
    پست
    111

    نقل قول: یه سوال ساده

    الف ) یک آرایه داری به نام A دارای طول مشخص که تو هر خونش یک عددی هست .

    ب ) یک ماتریس داری ( آرایه ی دو بعدی ) که تعداد سطر و ستونش رو از کاربر میگیری و بعد اون رو میسازی. این هم ok

    پ) میخوای هر سطر از ماتریس که شماره اش یکی از مقادیر A هست رو بررسی کنی : اینجا 3 تا نکته است !!

    1 ) مقادیر خونه های A نباید مثل هم باشند در این صورت یک سطر ممکنه دو بار بررسی بشه
    2 ) بر فرض اینکه مقادیر خونه های آرایه A مثل هم نبودند همچنین مقادیر اون خونه ها باید در محدوده ی 0 تا تعداد ستون ماتریس منهای 1 باشند. چون در غیر این صورت مکنه با خطا مواجه بشی.
    3 )بر فرض درست بودن موارد 1و2 طول آرایه ی A نبایند بیشتر از تعداد سطر های ماتریست بشه

    خوب این چه کاریه ....؟؟!! اصلا به A احتیاج نداری !!!

    ج) بخش آخر سوالت ( فرض بر درست بودن موارد 1و2و3) میشه با یک تابع جستجو در آرایه دو بعدی با خروجی int که شماره ی ستون مورد نظر هست حل کرد . برای فهمیدن ستون هم یک شرط if میزاری

    قبول داری سوالت رو خیلی خیلی بد مطرح کردی !! یه بار خودت بخونش !! یه ربع تجزیه تحلیل سوالت طول کشید .


  4. #4
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    کرمانشاه
    پست
    174

    نقل قول: یه سوال ساده در کار با آرایه و ماتریس

    بله ببخشید خیلی عجله ای شد خودمم نفهمیدم چی نوشتم.
    الف) طول این ارایه از اول معلوم نیست اما حداکثر به اندازه تعداد سطرهای ارایه است.

    خوب این چه کاریه ....؟؟!! اصلا به A احتیاج نداری !!!
    من می خوام عناصر اون سطرهایی که کاربر شمارشونو وارد کرده بریزم توی ارایه ( برای هر سطر یه ارایه). بنابراین بهش نیاز دارم.

    ببینید دوست عزیز من یه ماتریس و یه ارایه دارم که اندازه و مقادیرشون هر دو در زمان اجرا تعیین میشه
    می خوام به تعداد عناصری که تو ارایه ام دارم ارایه های دیگه درست کنم (که مقادیر خونه های این ارایه های جدید رو از ماتریس می گیرم). مشخصه که چون تعداد این ارایه ها هم در زمان اجرا تعیین شده باید به صورت پویا تعریف کنم .
    حالا مشکلم اینه که چطور بگم که به اندازه طول ارایه اولی که دارم ارایه درست کنه و اونها رو چطور نام گذاری کنم؟

  5. #5
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    تیر 1388
    پست
    134

    نقل قول: یه سوال ساده در کار با آرایه و ماتریس

    مشخص کردن طول آرایه در زمان اجرا غیر ممکن است مگر آنکه از اشاره گری استفاده کنی که فکر نمی کنم بتوانی.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    دی 1386
    محل زندگی
    shahrekord
    پست
    279

    نقل قول: یه سوال ساده در کار با آرایه و ماتریس

    بله باید از آرایه استفاده بشه اما نمیفهمم چرا میگین نمیتونن؟؟؟

  7. #7
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    34
    پست
    111

    نقل قول: یه سوال ساده در کار با آرایه و ماتریس

    آهان . . پس بگو . . .

    بنا بر توضیحات جناب عالی روند منطقی و اصولی برنامه شما به این صورت میشه :

    1 ) اول باید طول و عرض آرایه خودت رو از کاربر بگیری ( تعداد سطر و ستون ماتریس منظورم هست)

    2) آرایه دو بعدی Dynamic خودت رو میسازی .

    3 ) حالا از کاربر باید بپرسی که چند تا سطر رو میخواد بررسی کنه ؟ که پاسخ کاربر میشه طول آرایه ی A

    4 ) آرایه A رو میسازی

    5 ) شماره ی سطر هایی که کاربر میخواد رو میگیری و توی خونه های A میریزی

    6 ) آرایه ی دو بعدی خودت رو اسکن میکنی و تعداد ستون هایی رو که اون شرط مورد نظر صدق میکنه پیدا میکنی ، یک آرایه ی دیگه درست میکنی و سپس شماره ی ستون ها رو میریزی تو این آرایه ی جدید

    حالا تو کدوم بخش مشکل داری ؟؟؟ ساخت آرایه ی دو بعدی ؟

    اصلا این چه سوالیه آخه . .. . . .؟؟؟



  8. #8
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    کرمانشاه
    پست
    174

    نقل قول: یه سوال ساده در کار با آرایه و ماتریس

    مشکل من در نامگذاری ارایه هایی که می خوام ایجاد کنم.یعنی اگه ارایه A شامل شماره سطرهای 2و 4 هستش ، حالا که می خوام دوتا ارایه بسازم نمی دونم چطور بهشون اسم بدم
    for(i=0,i<A.size;i++)
    {
    اینجا چی بنویسم
    }

    دیگه نمی دونم چطور توضیح بدم

  9. #9

    نقل قول: یه سوال ساده در کار با آرایه و ماتریس

    یه نمونه ساده واسه مثالی که شما ارائه دادید :


    #include <iostream>
    #include <conio>
    int main(){
    int a[4][4] = {{0,1,0,0},{1,0,1,0},{0,1,0,1},{0,0,1,0}};
    int b[2] = {1,3};
    for(int i=0;i<4;i++){
    for(int j=0;j<4;j++){
    for(int k=0;k<2;k++){
    if(i+1 == b[k]){
    if(a[i][j]==1)
    cout<<"row : "<<i<<" , "<<"col : "<<j<<endl;}
    }
    }
    }
    getch();
    }



    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg res.jpg‏ (15.0 کیلوبایت, 16 دیدار)

  10. #10
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    کرمانشاه
    پست
    174

    نقل قول: یه سوال ساده در کار با آرایه و ماتریس

    دوست عزیز
    من باید اون قسمت قرمز رنگ رو بریزم داخل ارایه .یعنی یه ارایه ایجاد کنم که بره سطر اول رو بررسی کنه و شماره اون ستون هایی که یک هست رو داخل ارایه قرار بده .
    همین کار رو باید برای سطر سه هم انجام بده

    int a[4][4] = {{0,1,0,0},{1,0,1,0},{0,1,0,1},{0,0,1,0}};



    int b[2] = {1,3};

    for(int i=0;i<4;i++){
    for(int j=0;j<4;j++){
    for(int k=0;k<2;k++){
    if(i+1 == b[k]){
    if(a[i][j]==1)
    j=یکی از خونه های ارایه جدید
    cout<<"row : "<<i<<" , "<<"col : "<<j<<endl;}
    }
    }
    }
    getch();

    }
    تو قسمت قرمز باید اسم یه ارایه قرار بدم، چون از اول تعداد رو ندارم نمی تونه ارایه با اسامی متفاوت ایجاد کنم. مثلا سطر اول داخل ارایهx باشه و سطر سوم داخل ارایهz.
    آخرین ویرایش به وسیله root88 : پنج شنبه 14 مرداد 1389 در 16:34 عصر

  11. #11

    نقل قول: یه سوال ساده در کار با آرایه و ماتریس

    من باید اون قسمت قرمز رنگ رو بریزم داخل ارایه .یعنی یه ارایه ایجاد کنم که بره سطر اول رو بررسی کنه و شماره اون ستون هایی که یک هست رو داخل ارایه قرار بده .
    خوب قرار بدید ، مگه چه مشکلی هست ؟! دوست عزیز کمی هم از خودتان خلاقیت نشون بدید ، همه
    چیزو که آدم آماده بدست نمیاره !

  12. #12
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    کرمانشاه
    پست
    174

    نقل قول: یه سوال ساده در کار با آرایه و ماتریس

    مشکل من اسم ارایه هایی که ایجاد میکنم. در هر صورت از توجهی که کردید ممنون.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •