Darmowe Forum
Maj 02, 2024, 02:51:29 *
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  (Przeczytany 5844 razy)
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« : Październik 31, 2012, 10:10:42 »

Tablice służą do przechowywania zmiennych. Każda tablica powinna mieć swoją nazwę, rozmiar i typ przechowywanych zmiennych. Tablice indeksowane są  od 0 (zera).
Deklaracja tablicy jest podobna do deklaracji zmiennych:
Przykład: int adam[20]; zadeklarowano tablicę o nazwie adam przechowującą 20 liczb typu integer;

Zadanie 1. Napisać program który do tablicy 20 elementowej wpisze kolejne liczby od 1 do 20;

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int adam[20];
for(int x=1;x<=10;x++){adam[x-1]=x;}
    system("PAUSE");
    return EXIT_SUCCESS;
}
« Ostatnia zmiana: Październik 31, 2012, 10:13:34 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #1 : Październik 31, 2012, 11:37:37 »

Zadanie 2.
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int adam[20];int x;
for(x=1;x<=10;x++){adam[x-1]=x;};
for(x=0;x<10;x++){cout.width(4);cout<<adam[ x ];};
cout<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #2 : Październik 31, 2012, 12:13:55 »

Zadanie 3. Proszę napisać program który wyświetli liczby od 1 do 10 . Schodkowo .

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int adam[20];int x;
for(x=1;x<=10;x++){adam[x-1]=x;};
for(x=0;x<10;x++){cout.width(4);for(int z=0;z<x;z++){cout<<" ";}
cout<<adam[ x ]<<endl;};
cout<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #3 : Listopad 07, 2012, 11:23:07 »

Zadanie 4. Proszę napisać program, w którym do tablicy 5 elementowej o nazwie Qba wpisanych zostanie 5 liczb całkowitych.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int Qba[5];
   
    for(int x=0;x<5;x++){
         cout<<endl<<"Podaj "<<x+1<<" zmienna = ";cin>>Qba[ x ];};
         cout<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

Wersja rozwojowa z rzadko stosowanym skróconym zapisem instrukcji if


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int Qba[5];
   
    for(int x=0;x<5;x++){
         cout<<endl<<"Podaj "<<x+1<<" zmienna = ";cin>>Qba[ x ];};
         cout<<endl;
    for(int x=4; x>=0;x--){(Qba[ x ]>=5)?cout<<endl<<Qba[ x ]:cout<<endl<<" ";}
    cout<<endl;   
    system("PAUSE");
    return EXIT_SUCCESS;
}
« Ostatnia zmiana: Listopad 07, 2012, 13:10:18 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #4 : Listopad 14, 2012, 09:22:47 »

Zadanie 5 proszę napisać program który do tablicy A[10] wpisze 10 kolejnych liczb podzielnych przez 3. I następnie je wyświetli.

Wersja light:

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int y=0,z=1;
int A[10];
for(int x=1;x!=-1;x++)
{
if(((x%3)==0)){A[y]=x;y++; cout<<A[y-1]<<endl;}
if(y>9){x=-11;}
}   

 system("PAUSE");
    return EXIT_SUCCESS;
}

=====================================================
wersja bardziej zbliżona do polecenia
=====================================================

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int y=0,z=1;
int A[10];
for(int x=1;x>0;x++)
{
if(((x%3)==0)){A[y]=x;y++;}
if(y>9){x=-11;}
}   

for(int x=0;x<10;x++)
{cout.width(4);cout<<A[ x ];}

cout<<endl;
 system("PAUSE");
    return EXIT_SUCCESS;
}
-----------------------------------------------------------------
wersja ostateczna
-----------------------------------------------------------------

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int y=0,z=1;
int A[10];
for(int x=1;x>0;x++)
{
if(((x%3)==0)||((x%5)==0)){A[y]=x;y++;}
if(y>9){x=-11;}
}   

for(int x=0;x<10;x++)
{cout.width(4);cout<<A[ x ];}

cout<<endl;
 system("PAUSE");
    return EXIT_SUCCESS;
}
« Ostatnia zmiana: Listopad 14, 2012, 09:45:50 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #5 : Listopad 14, 2012, 09:58:25 »

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:

Tablice trochę teorii.


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];
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #6 : Listopad 14, 2012, 10:01:10 »

Przykład 6. 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]; z++;}while(a/=2);
cout<<endl;


    system("PAUSE");
    return EXIT_SUCCESS;
}
=================== pełna wersja ============================


#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]; z++;}while(a/=2);
cout<<endl;

for(int x=z-1; x>=0;x--)
{cout<<adam[ x ];}

cout<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
« Ostatnia zmiana: Listopad 14, 2012, 11:17:16 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #7 : Listopad 14, 2012, 11:31:09 »

Zadanie 7. Tablica wielowymiarowa. Napisać program który do tablicy 2 wymiarowej  10x10 o nazwie mania, wpisze wierszami kolejne liczby od 1 do 100 i następnie wyświetli je na ekranie.


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int mania[10][10];
int x=1;
for(int aa=0;aa<10;aa++)
{for(int bb=0;bb<10;bb++)
{mania[aa][bb]=x;x++;}}

for(int aa=0;aa<10;aa++)
{for(int bb=0;bb<10;bb++)
{cout.width(4);cout<<mania[aa][bb];}
cout<<endl;
}

cout<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #8 : Listopad 21, 2012, 09:27:03 »

Napisać program wczytujący do tablicy 10x10 kolejne liczby naturalne.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int flaga[10][10];
int a=1;
for(int x=0; x<10;x++)
{ for(int y=0; y<10;++y){flaga[ x ] [y]=a;a++;}
}
   
   
for(int x=0; x<10;x++)
{cout<<endl<<endl; for(int y=0; y<10;++y)
{cout.width(4);cout<<flaga[ x ] [y];}
}   
    cout<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #9 : Listopad 21, 2012, 10:17:30 »

Zadanie 8 . Do tablicy 10x10 wpisać kolejne liczby parzyste.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int flaga[10][10];
int a=0;
for(int x=0; x<10;x++)
{ for(int y=0; y<10;++y)
{do{a++;}while(a%2!=0);
flaga[ x ][y]=a;};}

   
   
for(int x=0; x<10;x++)
{cout<<endl<<endl; for(int y=0; y<10;++y)
{cout.width(4);cout<<flaga[ x ][y];}
}   
    cout<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #10 : Listopad 21, 2012, 10:54:42 »

Zadanie 9 . Napisać program "Wypłatomat" który prosi o podanie kwoty do wypłaty. Następnie podaje jakie nominały i lile zostaną wypłacone. Wykorzystać tryb bezpośredniego zapełnienia tablicy.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{ double pien[5] = {200,100,50,20,10};
    int ile[5];
    int i;  double suma;
    for (i=0;i<5 ;i++ )
        { ile[ i ] = 0;  }
    cout<<"Podaj ile chcesz wyplacic: ";
    cin>>suma;
    for (i=0;i<5 ;i++ )
        {   ile[ i ] = (int)(suma / pien[ i ]);
        suma = suma - ile[ i ]*pien[ i ];
        if (suma == 0) break; }
    cout<<("Wyplacam kolejne nominaly:  \n");
    for (i=0;i<5 ;i++)
        {
        if (ile[ i ] == 0) continue;
        cout<<ile[ i ]<<" banknotów po "<<pien[ i ] <<" zlotych "<<endl;
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}


--------------------------------wersja rozwojowa -----------------------------------------------------------

include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{ double pien[5] = {200,100,50,20,10};
    int ile[5];
    int i;  double suma,suma1;
    for (i=0;i<5 ;i++ )
        { ile = 0;  }
    cout<<"Podaj ile chcesz wyplacic: ";
    cin>>suma;suma1=suma;
    for (i=0;i<5 ;i++ )
        {   ile = (int)(suma / pien);
        suma = suma - ile*pien;
        if (suma == 0) break; }
       
    if (suma!=0)
    {cout<<endl<<"nie moge wyplacic pelnej sumy, zostaje: ";
    cout<<suma<<"PLN"<<endl;}else{   
    cout<<("Wyplacam kolejne nominaly:  \n");
    for (i=0;i<5 ;i++)
        {
        if (ile == 0) continue;
        cout<<ile<<" banknotów po "<<pien<<" zlotych "<<endl;
    }}
    system("PAUSE");
    return EXIT_SUCCESS;
}
« Ostatnia zmiana: Listopad 21, 2012, 12:33:06 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #11 : Styczeń 09, 2013, 13:10:30 »

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{int tab[10][10];
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
if((j==i)||(j==9-i)){tab[ i ][j]=1;
}else
{tab[ i ][j]=0;}
}};
for(int i=0;i<10;i++){cout<<endl;
for(int j=0;j<10;j++){cout.width(3);cout<<tab[ i ][j];}}
    cout<<endl<<endl;system("PAUSE");
   
    return EXIT_SUCCESS;
}
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #12 : Styczeń 23, 2013, 10:25:01 »

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{char adam[10][10];
for (int x=0; x<10;x++){
 for (int y=0; y<10;y++)
 {if((x==y)||(x==9-y)||(y==0)||(y==9)||(x==0)||(x==9)){adam[ x ][ y ]=2;}
  else {adam[ x ][ y ]=0;};};};
 
 for (int x=0; x<10;x++){cout<<endl;
 for (int y=0; y<10;y++){cout.width(2);cout<<adam[ x ][ y ];}}
 cout<<endl;   
    system("PAUSE");
    return EXIT_SUCCESS;
}
« Ostatnia zmiana: Styczeń 23, 2013, 10:26:38 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #13 : Styczeń 23, 2013, 11:19:49 »

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{char adam[10][10];
for (int x=0; x<10;x++){
 for (int y=0; y<10;y++)
 {if((x==0)||(x==3)||(x==6)||(y==0)||(y==3)||(y==6)||(y==9)||(x==9)){adam[ x ] [ y ]=3;}
  else {adam[ x ][ y ]=0;};};};
 
 for (int x=0; x<10;x++){cout<<endl;
 for (int y=0; y<10;y++){cout.width(2);cout<<adam[ x ][ y ];}}
 cout<<endl;   
    system("PAUSE");
    return EXIT_SUCCESS;
}





« Ostatnia zmiana: Styczeń 23, 2013, 11:21:42 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

warriorsidiot life-hamster galaxyace bestserver loveismagic