5. Zmienne strukturalne w języku C++
5.1. Tablice w języku C++ - tablice liczbowe
Cele ćwiczenia:
umiejętność budowania algorytmów i ich postaci graficznej
zapoznanie ze zmiennymi tablicowymi i zastosowaniem ich jako reprezentantów matematycznych pojęć wektora i macierzy w programach
Nowe zagadnienia:
tablica jako typ danych
sposób inicjowania tablic o różnych wymiarach i typach
sposób wprowadzanie elementów do tablicy, wyprowadzania ich na ekran, operacje na tablicach
Definicje nowych pojęć
Tablica jest to struktura danych zawierająca uporządkowany zbiór obiektów tego samego typu i odpowiada matematycznemu pojęciu wektora, macierzy itd.
Indeks elementu tablicy określa jak daleko, licząc od początku tablicy jest przesunięty dany element.
Zasady tworzenia tablic:
- każdy element tablicy ma przydzieloną swoją „skrzynkę” pamięci o unikalnym numerze (indeksie) od 0 - n,
- wszystkie elementy tablicy muszą być tego samego typu,
- tablica ma jedną wspólną dla wszystkich elementów nazwę,
Zasady indeksowania elementów tablic:
- elementy tablicy wskazujemy za pomocą indeksów,
- indeksy numerujemy od 0,
- numer elementu tablicy nie odpowiada jego indeksowi
Deklaracja tablic jednowymiarowych
Deklaracja tablic dwuwymiarowych
Wprowadzanie i wyprowadzanie elementów tablicy jednowymiarowej:
//Wprowadzenie elementów do tablicy tab1
for (int i=0; i<10; i++)
{
cout<<„podaj kolejny element tablicy”;
cin>>tab1[i];
}
//Wyprowadzenie elementów z tablicy tab1
for (int i=0; i<10; i++)
cout<<„tab1[„<<i<<„]=”<<tab1[i]<<endl;
Wprowadzanie i wyprowadzanie elementów tablicy dwuwymiarowej:
//Wprowadzenie elementów do tablicy tab2
for (int i=0; i<5; i++)
for (int j=0; j<6; j++)
{
cout<<„podaj kolejny element tablicy”;
cin>>tab2[i][j];
}
//Wyprowadzenie elementów z tablicy tab2
for (int i=0; i<10; i++)
for (int j=0; j<6; j++)
cout<<„tab2[„<<i<<„]”<<”[„<<j<<”]=”<<tab2[i][j]<<endl;
Zadanie 1
Napisz dokonujący obliczenia iloczynu 9 elementów tablicy (3 wiersze i 3 kolumny) przez liczbę podaną z klawiatury.
Zadania C++ 5.1
Napisz program obliczający sumę dwóch macierzy A i B o 3 wierszach i 2 kolumnach. Wartości poszczególnych składników macierzy A i B wprowadzane z klawiatury.
Napisz program sortujący w kolejności rosnącej elementy pięcioelementowego wektora. Elementy wektora wprowadzamy z klawiatury.
Podpowiedz:
for (k=0; k<m; k++)
{
for (i=0; i<m-1; i++)
{
if (t[i]>t[i+1])
{
z=t[i];
t[i]=t[i+1];
t[i+1]=z;
}
}
}
Napisać program realizujący zamianę dwóch wskazanych wierszy tablicy dwuwymiarowej o3 wierszach i 3 kolumnach.
Napisać program obliczający sumę elementów w określonym wierszu macierzy o 5 kolumnach i 3 wierszach.
Napisać program sprawdzający czy w danym 10 elementowym wektorze są jednakowe elementy. Program ma drukować te elementy i podawać ich pozycję.
Napisz program obliczający różnicę dwóch macierzy A i B o 3 wierszach, 3 kolumnach i 3 rzędach. Wartości poszczególnych składników macierzy A i B wprowadzane z klawiatury.
Ćwiczenia laboratoryjne nr 5.1
„Język Programowania” str. 3
#include<iostream.h>
#include<conio.c>
#include<iomanip.h>
#define m 3
#define n 3
main()
{
float A[m][n],B[m][n];
float x;
int j, i;
clrscr();
// wczytanie tablicy A
for (i=0; i<m; i++)
for (j=0; j<n; j++)
{
cout<<"A["<<i<<j<<"] =";
cin>>A[i][j];
}
cout<<”Podaj liczbę ”;
cin>>x;
// mnożenie tablicy A przez x
for (i=0; i<m; i++)
for (j=0; j<n; j++)
B[i][j]=A[i][j]*x;
clrscr();
// wydruk tablicy B
for (i=0; i<m; i++)
for (j=0; j<n; j++)
{
cout<<"B["<<i<<j<<"]"<<B[i][j]<<endl;
}
getch();
}