Results 1 to 25 of 29
Thread: Èäåÿ çà ïðîãðàìêà íà C++
Hybrid View
-
25th June 2013 01:25 #1Registered User
Join Date: Aug:2012
Location: Òúðãîâèùå
Posts: 297
Èäåÿ çà ïðîãðàìêà íà C++
Çäðàâåéòå,èìàì åäèí ïðîáëåì ñ íàïèñâàíåòî íà åäíà ïðîãðàìà íà C++.Çàäà÷êàòà å îò óðîêà çà îïåðàòîðà enum. Çàäà÷êàòà å :
Äà ñå íàïèøå ïðîãðàìà,êîÿòî âúâåæäà ñòîéíîñòèòå íà åñòåñòâåíèòå ÷èñëà n,m,p è q è íàìèðà âñè÷êè ðåäèöè îò îïåðàöèè (op1,op2,op3) ñðåä +,0,*,/, òàêà ÷å êàòî ñå çàìåñòÿò â èçðàçà (((n op1 m)) op2 p) op3 q), ïîëó÷åíàòà ñòîéíîñò äà å ðàâíà íà à (à å äàäåíî öÿëî ÷èñëî).
Êàòî öÿëî ìèñëÿ,÷å èäåÿòà å äà ñå íàïðàâÿò 3 öèêúëà (öèêúë 1,êîéòî å â öèêúë 2,à öèêúë 2 å â öèêúë 3) è op1,op2,op3 äà ïðèåìàò òåçè çíàöè +,-,*,/ îáà÷å êàê äà ãî íàïðàâÿ òîâà ? Ïðîáâàõ è íå ñòàíà äà èçïîëçâàì enum, à è enum äî êîëêîòî çíàì ãè ïðèåìà ñàìî âèçóàëíî (ò.å. íå ðàçáèðà ôóíêöèèòå èì).Ùå ñå ðàäâàì äà ìè íàïèøåòå ñàìî íóæíèÿ êîä ò.å. êàê äà îñúùåñòâÿ èäåÿòà ñ àâòîìàòè÷íîòî èçðåæäàíå íà çíàöèòå èíàöå öèêëè è ò.í. ïðåäïîëàãàì ùå ãè íàïðàâÿ ñàì.
Áëàãîäàðÿ,ïðåäâàðèòåëíî.
-
25th June 2013 09:16 #2Game programmer
Join Date: Feb:2007
Location: Ñîôèÿ
Posts: 1,948
ïðèìåðíî òàêà:
è öèêëèòå òè ìèíàâàò ïðåç enum-a ñ îïåðàöèèòå.Code:switch(operation) { case divide: result = v1/v2; break; case multiply: result = v1*v2; break; case add: result = v1+v2; break; case subtract: result = v1-v2; break; }3700X | 3070Ti | 64GB RAM | 2TB SSD | Seasonic 750W | FD Define 7 Mini
-
25th June 2013 16:55 #3Registered User
Join Date: Aug:2012
Location: Òúðãîâèùå
Posts: 297
Àêî íå ñå ëúæà ñõâàíàõ èäåÿòà âè,íî òðÿáâà äà ãî ïðîáâàì ïîñëå.Áëàãîäàðÿ âè,ìíîãî çà èäåÿòà è çà áúðçèÿ îòãîâîð.
-
12th August 2013 12:12 #4Registered User
Join Date: Aug:2012
Location: Òúðãîâèùå
Posts: 297
Çäðàâåéòå,îòíîâî.Èñêàì äà âè ïîïèòàì îòíîñíî òàçè ïðîãðàìà èçìèñëèõ òîâà:
#include <iostream>
using namespace std;
int main()
{
cout << " Vuvedete 4 chisla"<<endl;
int m,n,p,q,broi=0;
cin >>m>>n>>p>>q;
cout <<" Vuvedete specialno chislo"<<endl ;
double a;
cin >>a;
enum op{op1,op2,op3,op4};
op d,e,f;
double s,g,h;
for (d=op1;d<=op4;d=(op)(d+1))
{
s=0;
g=0;
switch(d)
{
case op1 : s=m+n;break;
case op2 : s=m-n;break;
case op3 : s=m*m;break;
case op4 : s=m/n;break;
}
g=s;
for (e=op1;e<=op4;e=(op)(e+1))
{
s=g;
switch(e)
{
case op1 : s=s+p;break;
case op2 : s=s-p;break;
case op3 : s=s*p;break;
case op4 : s=s/p;break;
}
h=s;
for (f=op1;f<=op4;f=(op)(f+1))
{
s=h;
switch(f)
{
case op1 : s=s+q;break;
case op2 : s=s-q;break;
case op3 : s=s*q;break;
case op4 : s=s/q;break;
}
if (s==a)
{
broi++;
if (broi==1) cout <<"Realnite resheniq na vashiqt problem sa: "<<endl;
switch(d)
{
case 0 : cout << "(+,";break;
case 1 : cout << "(-,";break;
case 2 : cout << "(*,";break;
case 3 : cout << "(/,";break;
}
switch(e)
{
case 0 : cout << "+,";break;
case 1 : cout << "-,";break;
case 2 : cout << "*,";break;
case 3 : cout << "/,";break;
}
switch(f)
{
case 0 : cout << "+)"<<endl;break;
case 1 : cout << "-)"<<endl;break;
case 2 : cout << "*)"<<endl;break;
case 3 : cout << "/)"<<endl;break;
}
}
s=h;
}
}
}
if (broi==0) cout << "There`re no real soliutions of your problem"<<endl;
system("pause" );
return 0;
}
Îáà÷å òîâà ùå ìè èçâåäå ñàìî ÷èñëåíàòà ñòîéíîñò íà îïåðàöèèòå è íå çíàì êàê äà âèçóàëèçèðàì òðîéêàòà (op1,op2,op3) ÷ðåç çíàöè.Âñúùíîñò åäèíñòâåíîòî,êîåòî ìè õðóìíà å ÷ðåç ASCII êîäîâåòå è òàêà äà ãè âèçóàëèçèðàì.Èìà ëè íÿêàêúâ äðóã íà÷èí?Àç ñåãà ùå ïðîáâàì òîâà ñ ASCII êîäîâåòå.Åâåíòóàëíî ïúê,àêî â ïðîãðàìàòà èìà íåùî,êîåòî íå å ÷èòàâî ïðèåìàì êðèòèêè (çàíèìàâàë ñúì ñå ìàëêî ñ ïðîãðàìèðàíå).È ñúùî òàêà êàêâà å èäåÿòà â ñëó÷àÿ äà ïðèëàãàì òîâà íåùî çà òèï èçáîðåí?Îñâåí,÷å óæ ñå ïðèåìàëî çà äîáúð ñòèë çà ïðîãðàìèðàíå?
Ï.Ï. Ðåäàêòèðàõ ïðåäè íàïèñàíàòà ïðîãðàìà,çàùîòî íå áåøå ÷èòàâà.Òàçè ìàé ðàáîòè äîáðå,íî ïúê ìè ñå ñòðóâà,÷å ñúì íàïèñàë íåðàöèîíàëíî ðåøåíèå... Ñ òîëêîâà ìíîãî ïðîìåíëèâè ...
Ùå ñå ðàäâàì,àêî íÿêîé âêàðà åäíî ðàìî è êàæå íåäîñòàòúöèòå è åâåíòóàëíî ïî-äîáúð íà÷èí.Áëàãîäàðÿ ïðåäâàðèòåëíî.Last edited by DuMBo0o; 12th August 2013 at 13:36.
-
13th August 2013 10:32 #5
Äîáðå ñè ñå ñïðàâèë, íî íÿêîëêî çàáåëåæêè /å íÿìà êàê, íàëè.../
- êîãàòî ïîêàçâàø ïðîãðàìåí êîä, èçïîëçâàé [ code ] è [ /code ] (áåç èíòåðâàëèòå â ñêîáèòå) çà äà ñè çàïàçèø ôîðìàòèðàíåòî:
- Òèÿ case ïîâòîðåíèÿ ñè ïëà÷àò çà ôóíêöèè, íî ïðåäïîëàãàì òîâà îùå íå ñòå ãî ó÷èëè. Òîãàâà êîäà ùå ñòàíå 1/3 îò ñåãàøíèÿ.Code:#include <iostream> using namespace std; int main() { cout << " Vuvedete 4 chisla"<<endl; int m,n,p,q,broi=0; cin >>m>>n>>p>>q; cout <<" Vuvedete specialno chislo"<<endl ; double a; cin >>a; enum op{op1,op2,op3,op4}; op d,e,f; double s,g,h; for (d=op1;d<=op4;d=(op)(d+1)) { s=0; g=0; switch(d) { case op1 : s=m+n;break; case op2 : s=m-n;break; case op3 : s=m*m;break; case op4 : s=m/n;break; } g=s; for (e=op1;e<=op4;e=(op)(e+1)) { s=g; switch(e) { case op1 : s=s+p;break; case op2 : s=s-p;break; case op3 : s=s*p;break; case op4 : s=s/p;break; } h=s; for (f=op1;f<=op4;f=(op)(f+1)) { s=h; switch(f) { case op1 : s=s+q;break; case op2 : s=s-q;break; case op3 : s=s*q;break; case op4 : s=s/q;break; } if (s==a) { broi++; if (broi==1) cout <<"Realnite resheniq na vashiqt problem sa: "<<endl; switch(d) { case 0 : cout << "(+,";break; case 1 : cout << "(-,";break; case 2 : cout << "(*,";break; case 3 : cout << "(/,";break; } switch(e) { case 0 : cout << "+,";break; case 1 : cout << "-,";break; case 2 : cout << "*,";break; case 3 : cout << "/,";break; } switch(f) { case 0 : cout << "+)"<<endl;break; case 1 : cout << "-)"<<endl;break; case 2 : cout << "*)"<<endl;break; case 3 : cout << "/)"<<endl;break; } } s=h; } } } if (broi==0) cout << "There`re no real soliutions of your problem"<<endl; system("pause" ); return 0; }
- Áîÿäèñàíîòî â ÷åðâåíî å èçëèøíî /ñëîæè ãî â êîìåíòàð è òåñòâàé/.ASRock B550M Pro 4; Ryzen R5 3600; 2x16 GiB G.SKILL Aegis 3200; 1TB Samsung QVO 960 + 3TB Seagate IronWolf; Zalman Z1
-
15th August 2013 17:43 #6Registered User
Join Date: Aug:2012
Location: Òúðãîâèùå
Posts: 297
Îòíîñíî òîâà çà case ïîíåæå å îò òîçè óðîê èçïîëçâàõ òîçè òàã.Èíà÷å ïî÷íàõ ñàì äà ó÷à C++ è êàòî öÿëî íÿìà êîé äà ìè ïîìàãà.Ìîæå ëè äà íàïèøåø ñàìèòå òàãîâå çà òåçè ôóíêöèè,çà êîèòî ãîâîðèø òè,à åâåíòóàëíî,àêî íå ñúì ãè ó÷èë íàòàòúê,êîãàòî ñòèãíà äî òÿõ ñå íàäÿâàì,÷å íÿìà äà çàáðàâÿ çà òàçè çàäà÷à è ùå ÿ ðåøà ÷ðåç òÿõ.Îòíîñíî ïîñëåäíîòî òèðå - íå ìèñëÿ,÷å áîÿäèñàíîòî â ÷åðâåíî å èçëèøíî.Âñúùíîñò ìèñëåõ,íî êîãàòî ïðîáâàõ ñ ÷èñëàòà 1 1 1 1, à çà ñïåöèàëíî ÷èñëî âúâåäîõ 2 ìè èçëåçå,÷å +,-,- å ðåøåíèå, à 1+1-1-1 íå å 2 .Òîãàâà äîáàâèõ òîâà â ÷åðâåíî.Èíà÷å â íà÷àëîòî è àç ñå áÿõ çàáëóäèë,÷å å èçëèøíî.
Ìíîãî áëàãîäàðÿ,çà áúðçèÿ îòãîâîð.Åâåíòóàëíî,àêî íåùî ïúê àç áúðêàì ùå ñå ðàäâàì äà ìå ïîïðàâèø,çàùîòî ñúì íîâàê â ïðîãðàìèðàíåòî.
È êàêòî êàçàõ ó÷à ñàì è òî÷íî ïîðàäè òàçè ïðè÷èíà ìå å ñòðàõ äà íå áè äà ñå íàó÷à äà ïèøà ïðîãðàìèòå ïî íÿêàêúâ ãðåøåí íà÷èí(ïî-ñêîðî ñ íÿêàêâè ëîøè ïðîãðàìèñòêè ïðàêòèêè) èëè ïî íÿêàêúâ ñëîæåí íà÷èí,èñêàì,àêî íå âè å ïðîáëåì äà ïðîâåðèòå äàëè òàè ïðîãðàìà å äîáðå íàïèñàíà.
 ïðîãðàìàòà âúâåæäàòå òàêîâà m è n êàòî âúâåæäàòå ðàâíè m è n ,òúé êàòî òðÿáâà äà å çà êâàäðàòíà ìàòðèöà,íî ïîíåæå ìå ìúðçè âñåêè ïúê äà ñìåíÿì ïðîìåíëèâè è ò.í. ãè îñòàâèõ òàêà .Èäåÿòà å äà âè èçâåäå ÷èñëàòà îò íÿêàêâà ìàòðèöà â ñëåäíèÿ ðåä ( ïðèìåð çà ìàòðèöà a[3x3]) - a02 , a01 , a12 , a00 , a11 , a22 , a10 , a21 , a20 , êúäåòî akt çíà÷è k+1 ÿò åëåìåíò îò t+1 èÿ ðåä .
Íàäÿâàì ñå,÷å òîâà íàêðàÿ ãî îáÿñíèõ äîáðå.
Ï.Ï.Code:#include <iostream> using namespace std; int main() { cout <<" Vuvedete n: "; int n; cin>>n; cout <<" Vuvedete m: "; int m; cin >>m; int a[20][20]; for(int i=0;i<=n-1;i++) for(int k=0;k<=m-1;k++) { cout << " Vuvedete <" << i+1<<","<< k+1 <<">" ; cin>>a[i][k]; } //Izvejdane na chislata nad diagonala i na diagonala vkliuchitelno for(int i=n-1;i>=0;i--) { int r=i; for(int k=0;k<=n-1-i;k++) { cout<<a[k][r]<<" \t" ; r++; } } //Izvejdane na chislata pod diagonala for(int i=1;i<=n-1;i++) { int r=i; for(int k=0;k<=n-1-i;k++) { cout << a[i][k]<<"\t" ; r++; } } system("pause"); return 0; }
Åòî îùå åäèí âàðèàíò:
Code:#include <iostream> using namespace std; int main() { cout <<" Vuvedete n: "; int n; cin>>n; cout <<" Vuvedete m: "; int m; cin >>m; int a[20][20]; //Vuvejdane na chislata for(int i=0;i<=n-1;i++) for(int k=0;k<=m-1;k++) { cout << " Vuvedete <" << i+1<<","<< k+1 <<">" ; cin>>a[i][k]; } //Vuvejdane na chislata pod diagonala i na diagonala for (int i=n-1;i>=0;i--) for(int k=0;k<=n-1-i;k++) cout<<a[i+k][k]<<" \t" ; //Vuvejdane na chislata nad diagonala for(int k=1;k<=n-1;k++) for(int i=0;i<=n-k-1;i++) cout<<a[i][k+i]<<"\t"; system("pause"); return 0; }Last edited by DuMBo0o; 15th August 2013 at 19:32.




Reply With Quote
Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè