admin
|
|
« : Pa¼dziernik 27, 2010, 09:49:46 » |
|
Tablice s± bardzo u¿ytecznym narzêdziem poniewa¿ mog± byæ wykorzystywane na wiele sposobów. Tablice s± w pierwszym rzêdzie metoda do przechowywania du¿ej liczby danych pod ta sama nazwa. Sk³adnia deklaracji tablicy wygl±da nastêpuj±co:
int adam[20]; int -oznacza typ zmiennych które s± zapisane w tablicy, adam - to nazwa tablicy, 20 -to rozmiar tablicy, indeksem tablicy nazywamy warto¶æ która znajduje siê pomiêdzy nawiasami [ ].
Bardzo wa¿n± spraw± jest to, ¿e pierwszy wska¼nik tablicy wynosi 0, ostatni indeks tablicy to: liczba elementów -1. W zadeklarowanej 20 elementowej tablicy adam[20], indeksy zmieniaj± siê od 0 do 19.
Tablice wielowymiarowe: int adam2[8][8];
|
|
« Ostatnia zmiana: Listopad 03, 2010, 07:42:38 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #1 : Pa¼dziernik 27, 2010, 10:25:28 » |
|
Przyk³ad1 . Deklaracja i wywo³anie tablicy 10 elementowej.
#include <cstdlib> #include <iostream>
using namespace std;
int main(int argc, char *argv[]) {int i; int adam[10]; for (i=0;i<10;i++){adam=i;}
for (i=0;i<10;i++) {cout.width(4);cout<<adam;cout<<endl;}
system("PAUSE"); return EXIT_SUCCESS; }
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #2 : Pa¼dziernik 27, 2010, 10:57:38 » |
|
Przyk³ad 2. Liczba dwójkowa na tablicach, odwrotnie.
#include <cstdlib> #include <iostream>
using namespace std;
int main(int argc, char *argv[]) {int a,z=0; int adam[10]; cout<<"Podaj liczbe calkowita:";cin>>a; do { if (a%2==1){adam[z]=1;} else {adam[z]=0;} cout<<adam[z]; i++;}while(a/=2); cout<<endl;
system("PAUSE"); return EXIT_SUCCESS; }
|
|
« Ostatnia zmiana: Pa¼dziernik 27, 2010, 12:13:37 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #3 : Pa¼dziernik 27, 2010, 11:23:22 » |
|
#include <cstdlib> #include <iostream>
using namespace std; int main(int argc, char *argv[]) {int a,i=0; int adam[10]; cout<<"Podaj liczbe calkowita:";cin>>a; do { if (a%2==1){adam=1;} else {adam=0;} cout<<adam; i++;} while(a/=2); cout<<endl; int b=i-1;cout<<endl; for(i=b;i>=0;i--){cout<<adam;} cout<<endl; system("PAUSE"); return EXIT_SUCCESS; }
|
|
« Ostatnia zmiana: Listopad 10, 2010, 08:31:30 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #4 : Pa¼dziernik 27, 2010, 12:12:15 » |
|
#include <cstdlib> #include <iostream>
using namespace std; int main(int argc, char *argv[]) {int a,z=0; int adam[10]; cout<<"Podaj liczbe calkowita:";cin>>a; do { if (a%2==1){adam[z]=1;} else {adam[z]=0;} cout<<"i= "<<z<<" do tablicy wpisano wartosc: "<<adam[z]<<endl; z++;} while(a/=2); cout<<endl<<"po wyjsciu z petli i= "<<z;
int b=z-1;cout<<endl;
for(z=b;z>=0;z--){cout<<adam[z];} cout<<endl; system("PAUSE"); return EXIT_SUCCESS; }
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #5 : Listopad 03, 2010, 08:22:06 » |
|
Zadanie 1- 3-11 Napisaæ program który wpisuje do tablicy 5 liczb podanych z klawiatury.
#include <cstdlib> #include <iostream>
using namespace std;
int main(int argc, char *argv[]) {int z; int liczba[5]; for(z=0;z<5;z++) {cout<<endl<<"Podaj "<<z+1<<" liczbe: "; cin>>liczba[z];} system("PAUSE"); return EXIT_SUCCESS; }
Wersja z wy¶wietlaniem liczb w odwrotnej kolejno¶ci:
#include <cstdlib> #include <iostream>
using namespace std;
int main(int argc, char *argv[]) {int z,y; int liczba[5]; for(z=0;z<5;z++) {cout<<endl<<"Podaj "<<z+1<<" liczbe: "; cin>>liczba[z];}
for(z=5;z>0;z--) {cout<<endl<<"liczbe"<<z<<"= "<<liczba[z-1];} cout<<endl; system("PAUSE"); return EXIT_SUCCESS; }
|
|
« Ostatnia zmiana: Listopad 03, 2010, 08:36:09 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #6 : Listopad 10, 2010, 08:35:51 » |
|
Zadanie 3. Napisaæ program który w tablicy umie¶ci wynik tabliczki mno¿enia liczb od (1..10) x (1..10). Wy¶wietli wyniki w postaci klasycznej tabliczki mno¿enia, ale wszystkie liczby dziel±ce siê przez 9 i 2 zast±pione zostan± znakiem X.
#include <cstdlib> #include <iostream> #include<string>
using namespace std; int main(int argc, char *argv[]) { int a,c; int tabliczka[10][10]; for(a=1; a<=10;a++) {for(c=1;c<=10;c++) {tabliczka[a-1][c-1]=a*c;} }
for(a=0; a<10;a++) {for(c=0;c<10;c++) {if((tabliczka[a][c]%2==0) && (tabliczka[a][c]%9==0)) {cout.width(4);cout<<'X';} else {cout.width(4);cout<<tabliczka[a][c];} } cout<<endl<<endl; } system("PAUSE"); return EXIT_SUCCESS; }
|
|
« Ostatnia zmiana: Listopad 10, 2010, 10:20:27 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #7 : Listopad 10, 2010, 08:50:38 » |
|
Zadanie 4. Napisaæ program który prosi o podanie 10 imion. Wpisuje je do tablicy imie i wy¶wietla najd³u¿sze z nich na ekranie. informuj±c na której pozycji zosta³y zapisane w tablicy.
#include <cstdlib> #include <iostream> #include<string>
using namespace std;
int main(int argc, char *argv[]) { string imie, im[10]; int a,c,d=0,e; for(a=0;a<10;a++) {cout<<"podaj "<<a+1<<" imie: ";cin>>im[a];}
for(a=0;a<10;a++) {imie=im[a]; c=imie.size(); if (c>d){d=c;e=a;} } cout<<"najdluzsze imie to: "<<im[e]<<" ma "<< d<<" liter"; system("PAUSE"); return EXIT_SUCCESS; }
|
|
« Ostatnia zmiana: Listopad 10, 2010, 14:11:07 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #8 : Listopad 10, 2010, 11:04:42 » |
|
Zadanie 3_1. Napisaæ program który w tablicy umie¶ci wynik tabliczki mno¿enia liczb od (1..10) x (1..10). Wy¶wietli wyniki w postaci klasycznej tabliczki mno¿enia, ale wszystkie liczby dziel±ce siê przez 9 i 2 zast±pione zostan± znakiem X. Wariant na pêtli while.
#include <cstdlib> #include <iostream> #include<string>
using namespace std;
int main(int argc, char *argv[]) { int a=1,c=1; int tabliczka[10][10]; while (a<=10) {while(c<=10) {tabliczka[a-1][c-1]=a*c;c++;} a++;} a=0; while(a<10) { c=0;while(c<10) {if((tabliczka[a][c]%2==0) && (tabliczka[a][c]%9==0)) {cout.width(4);cout<<'X';} else {cout.width(4);cout<<tabliczka[a][c];} c++; } cout<<endl<<endl;a++;} system("PAUSE"); return EXIT_SUCCESS; }
system("PAUSE"); return EXIT_SUCCESS; }
|
|
« Ostatnia zmiana: Listopad 10, 2010, 11:31:04 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #9 : Listopad 10, 2010, 12:17:49 » |
|
Zadanie do rozwi±zania
#include <cstdlib> #include <iostream> #include<string>
using namespace std;
int main(int argc, char *argv[]) { int a=1,c=1; int tab[10][10]; while(a<=10) {while(c<=10){tab[a-1][c-1]=a*c;c++;} a++;c=1;} a=1; c=1; while(a<=10) {while(c<=10){if((tab[a-1][c-1]%2==0) && (tab[a-1][c-1]%9==0)) {cout.width(4);cout<<'X';} else {cout.width(4);cout<<tab[a-1][c-1];}c++;} cout<<endl<<endl;a++;c=1;}
system("PAUSE"); return EXIT_SUCCESS; }
|
|
« Ostatnia zmiana: Listopad 10, 2010, 12:30:31 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #10 : Listopad 10, 2010, 14:44:31 » |
|
#include <cstdlib> #include <iostream> #include<string>
using namespace std;
int main(int argc, char *argv[]) { int adam[5][5]; for(int x=1;x<=5;x++){ for (int y=1;y<=5;y++) {cout.width(4); adam[x-1][y-1]=x*y; cout<<adam[x-1][y-1];} cout<<endl<<endl;} system("PAUSE"); return EXIT_SUCCESS; }
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #11 : Grudzieñ 08, 2010, 08:33:26 » |
|
Zadanie 7. Napisaæ program który do tablicy A 10x10 wpisze kolejne liczby ca³kowite od liczby 1. Nastêpnie przepisze je do tablicy B 10x10 w odwrotnej kolejno¶ci.
I czê¶æ programu:
#include <cstdlib> #include <iostream>
using namespace std;
int main(int argc, char *argv[]) {int a[10][10]; int b[10][10]; int z=1; for (int i=0;i<10;i++){ for(int j=0;j<10;j++) {a[j]=z;z++; cout.width(4);cout<<a[j];}cout<<endl;} system("PAUSE"); return EXIT_SUCCESS; }
|
|
« Ostatnia zmiana: Grudzieñ 08, 2010, 09:37:04 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #12 : Grudzieñ 08, 2010, 10:05:12 » |
|
a
|
|
« Ostatnia zmiana: Grudzieñ 08, 2010, 10:08:53 wys³ane przez admin »
|
Zapisane
|
|
|
|
|