fizmati.lv forums

Pilnā versija: Programmēšana LAB
Jūs pašlaik aplūkojat satura saīsināto versiju. Skatīt pilno versiju ar atbilstošu noformējumu.
Lapas: 1 2 3 4 5 6 7 8 9 10 11
klau vecie, vecās, jaunie, jaunās, gundrie un tie pārēji, kas tādi paši kā es
<< ieliekiet savus PROGRAMMĒŠANAS LAB uzdevumu noteikumus, tā teikt, lai citiem ja ir vēlēšanās bez sava uzd pakost arī citus, tāda dāvana tiktu dota<<ShockedShockedShockedShocked


mans uzd.

noskaidrot vai ievadītais skaitlis n ir pirmskaitlis.
mans

ievadīto skaitli izvadīt apgrieztā secībā (1234->4321)

Smile
mans ir izreekjinaat videejo aritmeetisko no ievadiitajiem skaitljiem...
Shis ir mans kods

#include <iostream>
using namespace std;
int main()
{
double a, b, n;
int c, d;

cout<<"Si ir programma, kas rekina videjo aritmetisko skaitli no jusu ievaditajiem skaitljiem...\nIevadiet skaitli! Kad jums tiks piedaavaata iespeeja turpinaat vai ne, tad ievadiet 0, lai beigtu ievadi vai kaadu citu skailti, lai turpinaatu ievadi!\n";
do {
b=0;
n=0;
do {
cout<<"Ievadiet skaitli!\n";
cin>>a;
//Ievada skaitli...
if (cin.good() == false)
//Paarbauda vai ir ievadiits skaitlis.
{
cout << "Tas nav korekts skaitlis! Ievadiet kaadu citu skaitli..." << endl;
system("pause");
return 0;
//ja nav ievadiits skaitlis, programma beidz darbiibu.
}
b=b+a;//ja ir ievadiits skaitlis, tas tiek pieskaitiis summai
n=n+1;//skaita skaitlju daudzumu
cout<<"Vai jus velaties ievadit vel kadu skaitli? Lai izreknatu videjo aritmetisko, ievadiet 0, lai turpinatu - jebkuru citu skaitli!\n";
cin>>c;//lietotaajs ievada "0", lai beigtu ievadi vai kaadu citu burtu, lai turpinaatu ievadi.

} while (c!=0);
cout<<"Videjais aritmetiskais ir: "<<b/n<<endl;//programma izvada videejo aritmeetisko...
cout<<"Vai jus velaties reekjinaat veelreiz?? Lai reekjinaatu pa jaunu, ievadiet kaadu skaitli, kas NAV 0, lai beigtu darbu, ievadiet 0!\n";
cin>>d;//lietotaajs ievada "0", lai beigtu ievadi vai kaadu citu ciparu, lai turpinaatu ievadi.
} while (d!=0);
cout<<"Paldies, ka izmantojat manu programmu!";
system("pause");
return 0;
//programma beidz darbu
}
Rūdis rakstīja:klau vecie, vecās, jaunie, jaunās, gundrie un tie pārēji, kas tādi paši kā es
<< ieliekiet savus PROGRAMMĒŠANAS LAB uzdevumu noteikumus, tā teikt, lai citiem ja ir vēlēšanās bez sava uzd pakost arī citus, tāda dāvana tiktu dota<<ShockedShockedShockedShocked


mans uzd.

noskaidrot vai ievadītais skaitlis n ir pirmskaitlis.

man ir identisks uzdevums.

man ir baigi neefektiivs kods, varbuut kaads vareetu paliidzeet uzlabot???

#include <iostream>
using namespace std;
int main ()
{
int n, t;
char c;
cout << "Si programma nosaka, vai lietotaja ievaditais skaitlis ir pirmskaitlis.\n";
cout << "Ta spej apstradat naturalos skaitlus, kas nav lielaki par 2147483647.\n";
do {
//sakas programmas galvenais cikls, kura izpilde iet tik ilgi, kamer lietotajs beigas ievada "n".
cout << "Ludzu ievadiet naturalu skaitli!\n";
// skaitla ievade
cin >> n;
t = n - 1;
if (cin.good()==false)
{
cout << "Tas nav naturals skaitlis, vai ari tas ir lielaks par 2147483647.\n";
system ("pause");
return 0;
// parbaude, vai skaitlis ir int tipa mainigais. Ja nav, programma darbu beidz.
}
else if (n<0)
{
cout << "Tas nav naturals skaitlis!\n";
goto start;
// ja skaitlis ir negativs, tas nav naturals skaitlis un programma pariet uz atsaksanas piedavajumu.
}
else if (n==0)
{
cout << "Skaitlis nav pirmskaitlis.\n";
goto start;
// ta ka 0 nevar dalit pasu ar sevi, 0 nav pirmskaitlis. programma pariet uz atsaksanas piedavajumu.
}
else if (n==1)
{
cout << "Skaitlis ir pirmskaitlis\n";
goto start;
}
else if (n==2)
{
cout << "Skaitlis ir pirmskaitlis.\n";
goto start;
// 1 un 2 dotaja cikla ir iznemuma gadijumi, tadel tie jaapskata atseviski.
// kad tiek ievadits kads no tiem, tiek pazinots, ka skaitlis ir pirmskaitlis un notiek pareja uz atsaksanas piedavajumu.
}
else
do {
if (n % t != 0) t = t - 1;
// kamer nav atrasts skaitlis, kas dalas ar doto bez atlikuma, programma to samazina par 1 un turpina dalisanu.
else
{
cout <<"Skaitlis nav pirmskaitlis.\n";
// ja ir atrasts skaitlis, kas dalas ar doto bez atlikuma, programma pazino, ka tas nav pirmskaitlis.
goto start;
}
}while (t != 1);
cout << "Skaitlis ir pirmskaitlis.\n";
// ja nav atrasts dalitajs, kas nav 1 vai pats skaitlis, programma pazino, ka ievaditais skaitlis ir pirmskaitlis.
goto start;
start:
cout << "Ja velaties iziet no programmas, ievadiet n, ja velaties turpinat, ievadiet jebkuru citu simbolu.\n";
cin >> c;
}while (c != 'n');
return 0;
}
A9, aprēķināt ģeometrisko progresiju ja dots 1. loceklis, koeficients un nepieciešamais izvadāmo locekļu skaits. Kods:

#include <iostream>
using namespace std;
#include <stdlib.h>

int aprekins (int a, int q, int n)//Funkcija kas atbild par apreekinu un izvadi
{
cout << "\nPirmie " << n << " geometriskaas progresijas locekli ir:\n";
for (int i = 0; i < n; ++i)
{
cout << a << endl;
a*= q;
}
cout << endl;
}

void ievade ()//Funkcija kas atbild par ievadi, ievadiito skaitlu parbaudi un nodroshina iespeeju atkaartot darbiibu
{
int a,q,n;
cout << "\nLuudzu ievadiet progresijas pirmo locekli, progresijas koeficientu un izvadaamo progresijas loceklju skaitu.\nLietojiet atstarpes lai atdaliitu skaitljus.\n";
cin >> a >> q >> n;
if (n<1)//Parbauda, vai nav pieprasiits <1 izvadaamo skaitlu daudzums
{
cout << "Pieprasiito loceklju skaits ir mazaaks kaa 1.\n";
}
else if (cin.good() == false)//Paarbauda, vai ievadiiti skaitli
{
cout << "Ievadiiti nekorekti simboli. Programma beidz darbu.\n";
system("pause");
}
else//Ja dati ir korekti, izsauc aprekina funkciju un nodod tai datus
{
aprekins (a,q,n);
}
cout << "Vai aprekinaat nakosho progresiju?\nIevadiet ciparu 1 lai aprekinaatu nakosho progresiju, vai jebkuru citu simbolu\nlai beigtu darbu.\n";
int t;
cin >> t;
if (t == 1)//Atsaak ievades funkciju no saakuma, lai apreekinaatu nakamos skaitlus
{
ievade ();
}
else//Beidz programmas darbu
{
exit (0);
}
}

int main ()
{
cout << "Shii programma aprekina lietotaaja ievadiitas geometriskaas\nprogresijas pirmos pieprasiitos n locekljus.\nTehnisku ierobezojumu delj programma var nekorekti stradaat ar skaitljiem\nlielaakiem par 2147483647.\n";
ievade ();
}
A) Doti divi naturāli skaitļi, noteikt vai šie skaitļi ir savstarpējie pirmskaitļi.

B) Dots burts robežās no A-H, un naturāls skaitlis, n=<8. Dotais pāris tiek uzskatīts par šaha galdiņa lauciņu, uz kura atrodas dāma. Izdrukāt uz displeja šaha galdiņu, atzīmējot ar X tos lauciņus, kurus apdraud dāma, bet pārējos ar 0.

C) Dots naturāls skaitlis m un naturāls skaitlis n<10. Izdrukāt skaitli m skaitīšanas sistēmā ar bāzi n.

S) Izveidot klasi "Bankas konts", kurā tiek glabāti divi skaitļi - summa un procentu likme gadā. Klasei izveidot šādas metodes:
1) konstruktors, ar kuru tiek padotas sākotnējās vērtības
2) destruktors, kurš paziņo par objekta likvidēšanu
3) metode "Papildināt kontu", kas papildina kontu par noteiktu summu
4) metode "Izņemt naudu", kas samazina konta atlikumu
5) metode "Mainīt procentus", kas uzstāda jauno procentu likmi
6) metode "Pārrēķināt summu" ar uzrādītu periodu dienās, kas izrēķina ienākumus no procentiem noteiktā laika periodā un papildina kontu ar šo summu (tiek uzskatīts, ka visos mēnešos ir 30 dienas)
7) metode "Drukāt", kas izdrukā konta atlikumu
*Klases hederi obligāti novietot atsevišķā hedera (*.h) failā
Armi rakstīja:man ir identisks uzdevums.

man ir baigi neefektiivs kods, varbuut kaads vareetu paliidzeet uzlabot???
Cik atceros no vidusskolas, tad skaitļa dalītājs nevar būt lielāks par kvadrātsakni no dotā skaitļa.

Vēl arī var optimizēt pārbaudi vai tas ir naturāls skaitlis.
nee tas ir siikums, es domaaju par tiem goto, bet break probleemas atrisinaaja Smile
Armi rakstīja:nee tas ir siikums, es domaaju par tiem goto, bet break probleemas atrisinaaja Smile

man pamatā bija f-ja

if(x%2!==0....utt)
paldies tiem, kas atsaucīgi un padalās ar saviem domu graudiem un uzdevumiem!..Wink...respect džeki!
starpcitu, rekur ļoti daudz programmēšanas uzdevumu -> http://www.lio.lv/olimps/
Sākot ar ļoti primitīviem, beidzot ar starptautisko olimpiāžu Smile
Andrejs Kalnačs rakstīja:starpcitu, rekur ļoti daudz programmēšanas uzdevumu -> http://www.lio.lv/olimps/
Sākot ar ļoti primitīviem, beidzot ar starptautisko olimpiāžu Smile
oo labais!.

varbūt vari ieteikt arī kādus uzziņas materiālus par C++??
Nu man ir šāds:
"Dots naturāls skaitlis n. Izdrukāt skaitli, kurš iegūts no dotā skaitļa izmetot ciparu k. (Piemēram, ja n=12025 un k=2, jāiegūst 105).

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
cout <<"Programma no ievadiitaa skaitlha iznhem noradito ciparu" <<endl;
    int atl, n, d, k, y, cip;
    char exit;
do                           //nodrošina iespēju atkārtoties
{
    cout << "Input number: ";
    cin >> n;
    cout << "Input digit to be removed from your number: ";
    cin>> k;

cip=log10(n)+1;             //cipari skaitlī
for(y=1;cip!=1;cip--)
{
           y=y*10;           //lielākais dalītājs
}
while (y >= 1)
{
      d = n / y;            //tiek iegūts pirmais cipars kreisajā pusē
      atl = n % y;
      if (d != k)            //salīdzina ciparu ar dzēšamo k vērtību
         {
          cout << d;         //izvada derīgo ciparu
          }
      n = atl;              //jaunais skaitlis ir vecā atlikums
      y = y/10;              //samazina dalītāju 10 reizes      
}
cout << endl;
cout << "Exit?(y = Yes)";
cin >> exit;}
while (exit!='y');
return 0;
}

P.S. 0 ir naturāls skaitlis?

Ja kaut kas nav pareizi tad bļauniet laukā!
Rūdis rakstīja:
Andrejs Kalnačs rakstīja:starpcitu, rekur ļoti daudz programmēšanas uzdevumu -> http://www.lio.lv/olimps/
Sākot ar ļoti primitīviem, beidzot ar starptautisko olimpiāžu Smile
oo labais!.

varbūt vari ieteikt arī kādus uzziņas materiālus par C++??
Pats tagad lasu C++ for Dummies 5th edition, Wiley izdevniecība. Viegli saprotamā angļu valodā, ar programmēšanas aspektu pārnešanu reālajā dzīvē.
Un protams C/C++ reference -> http://cppreference.com/
Kā arī groups.google.com Smile
A7,
Doti n skaitļi. Aprēķināt šo skaitļu vidējo aritmētisko!
Lapas: 1 2 3 4 5 6 7 8 9 10 11
Atsauces saites