PDA

View Full Version : آموزش: رسم جدول ضرب در ++C



mojtaba.sln
دوشنبه 18 اسفند 1393, 22:46 عصر
سلام خدمت دوستان...
شاید این مسئله یکی از مسائل حل تمرین دانشجویان رشته مهندسی کامپیوتر باشه (همونطور که یکی از مسائلی بود که به عنوان حل تمرین به ما دادند)...
این برنامه از کاربر یک عدد گرفته و یک جدول ضرب N*N چاپ می کند...


//ConsoleApplication13.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include<iostream>
using namespace std;
void main()
{
int i, j, n;
cout << "plz enter n";
cin >> n; //voroode n baraye sakhte jadvale n*n*n
for (i = 1; i <= n; i++) //in halghe meghdare adade avval dar zarb ra control mikonad...masalan>>> 1*2...1*3...1*4...1*5
{
for (j = 1; j <= n; j++) //in halghe meghdare adade dovvom dar zarb ra control mikonda..masalan>>>1*1...2*1...3*1...4*1...5*1...
{
cout << i*j << " ";
}
cout << endl; //vaghti meghdare dovvom az n bozorgtar shod barname be satre bad miravad
}
}

در برنامه بالا به جای FOR از WHILE و یا DO...WHILE هم می شد استفاده کرد

تنها مشکل برنامه بالا این که جدول ضرب رو نمی تونه مرتب نشون بده...,وقتی اعداد دورقمی میشن نظم جدول به هم می خوره اما جدول درست کار می کنه...
که این مشکل با استفاده از کتابخانه iomanip و دستور setw بر طرف می شه.


یه برنامه دیگه هم هست که جدول ضرب رو به صورت ستونی نمایش می ده تا مقدار مورد نظر کاربر(مثلا از 1 تا 5 رو نشون می ده حاصل ضرب هارو)


// ConsoleApplication13.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include<iostream>
using namespace std;
void main()
{
int m, i, j;
cout << "plz enter n";
cin >> m; //voroode adade morede nazar ke mikhahim jadval ta an meghdar edame dashte bashad
for (i = 1; i <= m; i++) //in halghe meghdare adade avale jadval ra control mikonad
{
for (j = 1; j <= 10; j++) //in halghe meghdare adade dovvome jadval ra control mikonad
{
cout << i <<"*"<<j<< ".........." << i*j << endl; //chape jadval be soorate "2*3..........6"
}
cout << "###########################"<<endl; //vaghti az 10 bishtar shod andazeye adade dovvom az halghe kharej va be satre bad miravad
}
}