Darmowe Forum
Maj 16, 2024, 12:40:22 *
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności: Forum zostało uruchomione!
 
   Strona główna   Pomoc Zaloguj się Rejestracja  
Strony: [1]
  Drukuj  
Autor Wątek: Tablice w języku C++  (Przeczytany 9205 razy)
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« : 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #12 : Grudzień 08, 2010, 10:05:12 »

a Uśmiech
« Ostatnia zmiana: Grudzień 08, 2010, 10:08:53 wysłane przez admin » Zapisane
Strony: [1]
  Drukuj  
 
Skocz do:  

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC | Sitemap

Polityka cookies
Darmowe Fora | Darmowe Forum

federacjagarmanii2023forum julandia galaxyace hoobit polskiekoleje