PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
c++ programeerimise informatsioon
Postitaja: vassili 2012-12-09 11:50:53
Mul on jama, anti koolis programeerimise c++ keele ülesanded kuid kuidas neid teha, tuleb ise väljamõelda, äkki keegi saab mind aidata, mõistatuse lahendamisel?

Lahendamine:

a. Peaprogramm ja kolm funktsiooni. Peaprogramm küsib, mida soovite arvutada (kombinatsioonide arvu, variatsioonid või permutatsioonid) ja küsib sisendandmed. Iga variandi jaoks on oma funktsioon, mis tulemuse tagastab peaprogrammile. Peaprogramm väljastab vastuse.

Minu lahendus:

#include <iostream>
#include <new>
using namespace std;
int main ()
{
int i,n;
int * p;
cout << "Mida soovid arvutada ";
cin >> variations, combinations;
cin >> i;
p= new (nothrow) int;
if (p == 0)
cout << "Error: memory could not be allocated";
else
{
for (n=0; n<i; n++)
{
cout << "Enter number: ";
cin >> p[n];
}
cout << "You have entered: ";
for (n=0; n<i; n++)
cout << p[n] << ", ";
delete[] p;
}
return 0;
}
char[] inputSet = { 'A', 'B', 'C', 'D' };

{
Combinations<char> combinations = new Combinations<char>(inputSet, 3);
string cformat = "Combinations of {{A B C D}} choose 3: size = {0}";
Console.WriteLine(String.Format(cformat, combinations.Count));
foreach(IList<char> c in combinations) {
Console.WriteLine(String.Format("{{{0} {1} {2}}}", c[0], c[1], c[2]));
}
{
Variations<char> variations= new Variations<char>(inputSet, 2);
string vformat = "Variations of {{A B C D}} choose 2: size = {0}";
Console.WriteLine(String.Format(vformat, variations.Count));
foreach(IList<char> v in variations) {
Console.WriteLine(String.Format("{{{0} {1}}}", v[0], v[1]));
}
{
Permutations<char> P1 = new Permutations<char>(inputSet,
GenerateOption.WithoutRepetition);
string format1 = "Permutations of {{A A C}} without repetition; size = {0}";
Console.WriteLine(String.Format(format1, P1.Count));
foreach(IList<char> p in P1) {
Console.WriteLine(String.Format("{{{0} {1} {2}}}", p[0], p[1], p[2]));
}


Kuidas oleks õige, mis on üleliigne, kuidas neid 3 funktsiooni siduda peaprogrammiga?

b. Tekstinäited &#8211; sisestatakse lause, väljastatakse lause, kus sõnad on vastupidises järjestuses, aga lause algab ikka suure tähega ja lõpus on punkt.

Kuidas seda programmi koostatakse?

c. Koostada programm, mis oskab väljastada tänase kuupäeva, nädalapäeva ja mitu päev on järgmise aasta alguseni.


#include <time.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
time_t s;
tm *t;
char *nadalapaev;
char *kuu;
s=time(NULL);
t=localtime(&s);
switch (t->tm_wday){

case 0 : nadalapaev="pühapäev" ; break;
case 1 : nadalapaev="esmaspäev" ; break;
case 2 : nadalapaev="teisipäev" ; break;
case 3 : nadalapaev="kolmapäev" ; break;
case 4 : nadalapaev="neljapäev" ; break;
case 5 : nadalapaev="reede" ; break;
case 6 : nadalapaev="laupäev" ; break;
}
switch(t->tm_mon){
case 0 : kuu="jaanuar" ; break;
case 1 : kuu="veebruar" ; break;
case 2 : kuu="märts" ; break;
case 3 : kuu="aprill" ; break;
case 4 : kuu="mai" ; break;
case 5 : kuu="juuni" ; break;
case 6 : kuu="juuli" ; break;
case 7 : kuu="august" ; break;
case 8 : kuu="september" ; break;
case 9 : kuu="oktoober" ; break;
case 10 : kuu="november" ; break;
case 11 : kuu="detsember" ; break;
}
printf("Täna on %s, %d. %s %d.n",
nadalapaev,t->tm_mday, kuu, 1900+
t->tm_year);
printf("Vajuta suvalisele klahvile...");
getch();
return 0;
}


Kuidas lõppu lisada: mitu päeva on järgmise aasta alguseni?
RE: c++ programeerimise informatsioon
Postitaja: lp 2012-12-11 11:53:05
Arvan, et seda lihtsat asja võiks ise leiutada. Pakun, et tuleks päevade arv aastas 'd = y%4==0 ? 366 : 365', siis 'd - tänasePäevaNumber'.
RE: c++ programeerimise informatsioon
Postitaja: merks 2012-12-12 14:33:48
Ei ole see ise leiutamine nii kerge midagi, kui õppejõuga proovisime tunnis kahte koodi kopeeerida programmi, mis olid suht algelised (nendest ülesannetest siin, veelgi algelisemad) ja see on meie kogu kokkupuude c++ keelega (enne õppinud natuke javat ja VBA'd).
Ise tegin päevade arvutamise nii
printf("Aasta l344puni on j204204nud %d. p204eva n",365-t->tm_yday);
(numbrite ees peab olema tagurpidi kaldjoon mis siin kaob ära mingil põhjusel. numbrid on selleks et kood võimaldaks täpitähti kasutada.)

Aga see on natuke vale kood loomulikult, kuna aastad ei ole kõik sama pikad.

Viimati muudetud: 12-12-2012 14:39:56
Muutja: merks
Põhjus: Üritasin lisada koodina

RE: c++ programeerimise informatsioon
Postitaja: lostinscope 2012-12-13 20:03:10
TSITEERITUD:

printf("Aasta l344puni on j204204nud %d. p204eva n",365-t->tm_yday);


#include <iostream>
#include <new>
using namespace std;
bool checkLeapYr(int year)
{
return year%4 == 0 && (year %100 != 0 || year%400 == 0);
}
int main ()
{
int y = (t->tm_year + 1900);
int d = (checkLeapYr(y)) ? 366 : 365;
printf("Aasta l6puni on j22nud %d. p2eva n",(d - t->tm_yday));
printf("Vajuta suvalisele klahvile...");
getch();
return 0;
}


RE: c++ programeerimise informatsioon
Postitaja: lostinscope 2012-12-13 20:06:23
edit:

PHP kood:
 
#include <iostream>
#include <new>
using namespace std;
bool checkLeapYr(int year)
{
return 
year%== && (year %100 != || year%400 == 0);
}
int main ()
{
 
s=time(NULL);
 
t=localtime(&s); 
 
int y = (t->tm_year 1900);
 
int d = (checkLeapYr(y)) ? 366 365;
 
printf("Aasta l6puni on j22nud %d. p2eva n",(t->tm_yday));
 
printf("Vajuta suvalisele klahvile...");
 
getch();
 return 
0;
}

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0934138298035