Programowanie proceduralne
Ćwiczenie 2
Typy
Łukasz Sztangret
Katedra Informatyki Stosowanej i Modelowania
8 10 16
#include<iostream>
using namespace std;
int main()
{
int a, b, c;
a=10;
b=010;
c=0x10;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "c = " << c << endl;
system("pause");
return 0;
}
8 10 16
#include<iostream>
using namespace std;
int
main()
{
int a,b,c;
cout << "System 10\na = ";
cin >> a;
cout << "System 8\nb = ";
cin >> oct >> b;
cout << "System 16\nc = ";
cin >> hex >> c;
cout<<"\n\tsys 10\tsys 8\tsys 16\n\n";
cout<<"a=\t"<<dec<<a<<"\t"<<oct<<a<<"\t"<<hex<<a<<endl;
cout<<"b=\t"<<dec<<b<<"\t"<<oct<<b<<"\t"<<hex<<b<<endl;
cout<<"c=\t"<<dec<<c<<"\t"<<oct<<c<<"\t"<<hex<<c<<endl;
system("pause");
return 0;
}
Tablice
#include<iostream>
using namespace std;
int main()
{
int tab[5], min;
for (int i=0; i<5; i++){
cout << "Podaj liczbe nr "<< i+1 << "\t";
cin >> tab[i];}
cout << endl;
min=tab[0];
for (int i=1; i<5; i++)
if (min>tab[i])
min=tab[i];
cout << "Najmniejsza liczba to " << min << endl;
system("pause");
return 0;
}
Zadanie 1
Napisać program liczący iloczyn
skalarny dwóch wektorów, np.
32
6
*
3
5
*
2
4
*
1
6
5
4
,
3
2
1
=
+
+
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
Tablice znakowe
#include<iostream>
using namespace std;
int main()
{
char tekst[]={"AGH"};
cout << "tekst = " << tekst << "\t";
cout << sizeof(tekst) << endl;
system("pause");
return 0;
}
Tablice znakowe
#include<iostream>
using namespace std;
int main()
{
char tekst[100];
int i=0;
cout << "Wprowadz tekst" << endl;
cin >> tekst;
while (tekst[i]){
cout << tekst[i] << "\t";
i++;}
cout << endl;
system("pause");
return 0;
}
Zadanie 2
Napisać program zliczający ile razy w wyrazie
występuje dana litera, np.
Podaj wyraz:
programowanie
Podaj literę:
r
Litera ‘r’ występuje 2 razy
Zadanie 3
Napisać program zamieniający duże
litery na małe i odwrotnie, np.
AbCDEf
aBcdeF
Tablice wielowymiarowe
#include<iostream>
using namespace std;
int main()
{
int tab[2][2]={0,1,2,3};
for (int i=0; i<2; i++)
{
for (int j=0; j<2; j++)
cout << tab[i][j] << "\t";
cout << endl;
}
system("pause");
return 0;
}
Zadanie 4
Napisać program mnożący dwie kwadratowe
macierze, np.
⎥
⎦
⎤
⎢
⎣
⎡
=
⎥
⎦
⎤
⎢
⎣
⎡
⎥
⎦
⎤
⎢
⎣
⎡
50
43
22
19
8
7
6
5
4
3
2
1
Wskaźniki
#include<iostream>
using namespace std;
int main()
{
int a, *w;
cout << "Podaj liczbe" << endl;
cin >> a;
cout << endl << "Podales liczbe " << a << endl << endl;
w=&a;
cout << "Wskaznik pokazuje na obiekt o wartosci ";
cout << *w << endl << endl;
system("pause");
return 0;
}
Wskaźniki do tablic
#include<iostream>
using namespace std;
int main()
{
int tab[]={1,2,3,4,5}, *w1, *w2;
w1=&tab[0];
w2=tab;
cout << endl << "Zawartosc tablicy" << endl;
for (int i=0; i<5; i++, w1++, w2++)
cout << *w1 << "\t" << *w2 << endl;
system("pause");
return 0;
}
Tablice wskaźników
#include<iostream>
using namespace std;
int main()
{
int tab[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};
int *wsk[3];
wsk[0]=tab;
wsk[1]=tab+6;
wsk[2]=tab+10;
cout << *wsk[0] << endl;
cout << *wsk[1] << endl;
cout << *wsk[2] << endl;
system("pause");
return 0;
}
Wskaźniki do tablic wielowymiarowych
#include<iostream>
using namespace std;
int main()
{
int tab[][3]={1,2,3,4,5,6,7,8,9};
int **w, war;
for (int i=0; i<3; i++)
*(w+i)=&tab[i][0]; //w[i]=&tab[i][0];
for (int i=0; i<3; i++){
for (int j=0; j<3; j++){
war=w[i][j]; // war=*(w[i]+j); war=*(*(w+i)+j);
cout<<war<<"\t";}
cout << endl;}
system("pause");
return 0;
}
Wskaźniki
#include<iostream>
using namespace std;
int main()
{
int ti[3], *wi;
double td[3], *wd;
wi=ti;
wd=td;
for (int i=0; i<3; i++, wi++, wd++){
cout << (unsigned long) wi << "\t";
cout << (unsigned long) wd << endl;}
system("pause");
return 0;
}
Zadanie 5
Napisać program sortujący wektor
przy wykorzystaniu wskaźników.
Dynamiczne tworzenie tablic
#include<iostream>
using namespace std;
int main()
{
int n;
cout << "Podaj rozmiar tablicy\n";
cin >> n;
int *w=new int[n];
for (int i=0; i<n; i++){
cout << "Podaj wartosc\n";
cin >> w[i];}
for (int i=0; i<n; i++)
cout << *(w+i) << endl;
system("pause");
return 0;
}
Dynamiczne tworzenie tablic 2-D
#include<iostream>
using namespace std;
int main()
{
int n;
cout << "Podaj rozmiar macierzy\n";
cin >> n;
int **wsk=new int*[n];
for (int i=0; i<n; i++)
wsk[i]=new int[n];
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
wsk[i][j]=i*n+j;
for (int i=0; i<n; i++){
for (int j=0; j<n; j++)
cout<<*(*(wsk+i)+j)<<"\t";
cout << endl;}
system("pause");
return 0;
}
Zadanie 6
Napisać program tworzący macierz
jednostkową o rozmiarze n.
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
1
0
0
0
1
0
0
0
1