Szkoły ETE im. Alberta Schweitzera

  • Increase font size
  • Default font size
  • Decrease font size
Start Liceum Przedmioty Informatyka Algorytmika i programowanie
C++

Sortowanie

Email Drukuj PDF

sortowanie przez zliczanie

 

sortowaniebąbelkowe

sortowanieprzezwybór

Poprawiony: wtorek, 03 marca 2020 22:15
 

Z dziesiętnego na dowolny

Email Drukuj PDF

using namespace std;
int main()
{
int l,r,p;
cout<<"podajliczbe"<<endl;
cin>> l;
cout<<"podaj podstawe"<<endl;
cin>>p;
string z;
char b;
//int d=l.length();
while(l>=1)
{
r=l%p;
if (r>=10) b=(r+55); else b=(r+'0');
z=b+z;
l/=p;
}
cout<<z<<endl;
return 0;
}

Poprawiony: środa, 19 lutego 2020 00:31
 

Z dowolnego na dziesiętny

Email Drukuj PDF

#include <iostream>
using namespace std;

int main()
{
string l;
int p,w,d;
char koniec;
do
{
cout << "podaj liczbe" << endl;
cin>>l;
cout<<"podaj podstawe"<<endl;
cin>>p;
w=0;
d=l.length();
for(int i=0 ;i<d; i++)
{
if (l[i]>='A') w=w*p+l[i]-55;
else
w=w*p+l[i]-48;
}
cout<<w<<endl;
cout<<"Jeszcze raz? t/n"<<endl;
cin>>koniec;
}
while (koniec!='n');
return 0;
}

 

Z dziesiętnego na dowolny rekurencja

Email Drukuj PDF

#include <iostream>

using namespace std;
void zamiana(int liczba, int p)
{
if(liczba>=p) zamiana(liczba/p, p);
cout<<liczba % p;
}

int main()
{
char znak;
int i,p;
do{

cout << "podaj liczbê" << endl;
cin>>i;
cout << "podaj podstawe" << endl;
cin>>p;
zamiana(i,p);
cout<<endl<<"czy dalej t/n? "<<endl;
cin>>znak;
}
while(znak=='t');

return 0;
}


#include <iostream>

using namespace std;
void zamiana(int liczba, int p)
{
if(liczba>=p) zamiana(liczba/p, p);
switch (liczba%p)
{
case 10: cout<<"A"; break;
case 11: cout<<"B"; break;
case 12: cout<<"C"; break;
case 13: cout<<"D"; break;
case 14: cout<<"E"; break;
case 15: cout<<"F"; break;
default: cout<<liczba % p;
}

}

int main()
{
char znak;
int i,p;
do{

cout << "podaj liczbê" << endl;
cin>>i;
cout << "podaj podstawe" << endl;
cin>>p;
zamiana(i,p);
cout<<endl<<"czy dalej t/n? "<<endl;
cin>>znak;
}
while(znak=='t');

return 0;
}

Poprawiony: środa, 19 lutego 2020 00:31
 

Rzutowanie

Email Drukuj PDF

Przekształcenia typów w języku C++. 

W języku C rzutowanie wyglądało w następujący sposób:

int zmienna_calkowita = (int)zmienna_rzeczywista;

W C++ nadal można używać takiego rzutowania, jest ono nazywane "rzutowaniem w stylu C". Oprócz tego C++ oferuje "rzutowanie w stylu funkcyjnym":

int zmienna_calkowita =int(zmienna_rzeczywista);

które działa dokładnie tak samo.

Poprawiony: poniedziałek, 16 grudnia 2019 22:59
 

Sito Eratostenesa

Email Drukuj PDF

Metoda Sito Eratostenesa pozwala na znalezienie wszystkich liczb pierwszych w zakresie  od 2 do n

#include <iostream>
using namespace std;
int main()
{
int n;
cout<<"podaj zakres "<<endl;
cin>>n;
int tab[n]={0};
int a=2;
for(int j=2;j<n;j++)
 {
   if(tab[j]==0) a=j;
   for(int i=a+1;i<n;i++)
     {
        if(i%a==0)tab[i]=1;
     }
  }
for(int j=2;j<n;j++)
if(tab[j]==0)cout << j << endl;
return 0;
}

 

szyfr polialfabetyczny ze słowem kluczowym

Email Drukuj PDF

 

 
#include <iostream>
 
using namespace std;
 
int main()
{
    string klucz;
    string jawny, zakod;
    cout<<"podaj klucz"<<endl;
    cin>>klucz;
    cout<<"podajtekst do zakodowania"<<endl;
    cin>>jawny;
    int dlklucza;
    dlklucza=klucz.length();
    char tab[dlklucza+1][26];
    int kod, a, z;
    for(int i=0; i<26; i++)
    {
        tab[0][i]=(char)i+65;
        cout<<tab[0][i];
    }
    cout<<endl;
    for(int i=1; i<dlklucza+1; i++)
    {
       tab[i][0]=klucz[i-1];
       kod=(int) klucz[i-1];
       cout<<endl<<tab[i][0];
        for(int j=1; j<26; j++)
        {
           kod++;
           if(kod>90) kod-=26;
            tab[i][j]=(char) kod;
           cout<<tab[i][j];
        }
    }
    for(int i=0;i<jawny.length();i++)
    {
        a=i%dlklucza+1;
        z=(int)jawny[i]-65;
        zakod=zakod+tab[a][z];
    }
cout<<endl<<"takst zaszyfrowany   "<<zakod;
    return 0;
}

 

Poprawiony: poniedziałek, 16 grudnia 2019 22:56
 

SZYFR NONOALFABETYCZNY ZE SŁOWEM KLUCZOWYM

Email Drukuj PDF

SZYFR MONOALFABETYCZNY ZE SŁOWEM KLUCZOWYM

słowo kluczowe – KLUCZ

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

K

L

U

C

Z

A

B

D

E

F

G

H

I

J

M

N

O

P

Q

R

S

T

V

W

X

Y

I

N

F

O

R

M

A

T

Y

K

A

E

J

A

M

P

I

K

R

X

G

K

TABLICA   ASCII

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

 

#include <iostream>

using namespace std;
bool czy_byla(char a, string k)
  {
     int dl=k.length();
     for(int i=0; i<dl; i++)
       {
          if(a==k[i])  return 0;

        }
    return 1;
  }

int main()
{
string klucz;
string jawny, zakod;
cout<<"podaj klucz"<<endl;
cin>>klucz;
cout<<"podaj tekst do zakodowania"<<endl;
cin>>jawny;
int dlklucza=klucz.length();
string alfszyfrowy;
char znak,z;

alfszyfrowy=klucz;

char ost=klucz[dlklucza-1];
int kod=(int) ost;
for(int i =0; i<26; i++)
 {
   kod++;
   if(kod>90) kod-=26;
   z=(char)kod;
   if(czy_byla(z,klucz)==1) alfszyfrowy+= z;
 }
cout<<alfszyfrowy<<endl;
for(int i=0;i<jawny.length();i++)
  {
   z=(int)jawny[i]-65;
   zakod=zakod+alfszyfrowy[z];
   }
cout<<endl<<"tekst zaszyfrowany "<<zakod;

return 0;
}

Poprawiony: poniedziałek, 16 grudnia 2019 22:54
 


Strona 1 z 2

Projekty

bannerkaruzela

karuzelazjezykami

kolkohistgeo

wymianauslar1

bannerbezmaski

holandia

ang 

ekg

interblok

fraktale

 tutoring

Logo schools500reformation