Μονοδιάστατοι πίνακες
Τι είναι ο πίνακας στον προγραμματισμό; Ο πίνακας είναι μια σύνθετη μεταβλητή που καταλαμβάνει παραπάνω από μια θέση στην μνήμη του Η/Υ, έχει ένα συγκεκριμένο όνομα και δέχεται ένα συγκεκριμένο τύπο δεδομένων.
Μονοδιάστατοι πίνακες Δήλωση Τύπος μεταβλητής Όνομα_Πίνακα[πλήθος στοιχείων]; Παράδειγμα int a[10]; float b[30],c[15]; char labels[33]; Προσοχή!!: Τα στοιχεία των παραπάνω πινάκων είναι a[0] έως a[9], b[0] έως b[29], κλπ.
Εισαγωγή δεδομένων σε πίνακα Παράδειγμα int i; float a[5]; for (i=0; i<5; i++) cout<<"\nassign value to the "<<i+1<<"element" "of the array: "; cin>>a[i];
Εισαγωγή δεδομένων σε πίνακα και Εκτύπωση των στοιχείων μονοδιάστατου πίνακα #include<iostream> using namespace std; int main() int i; float a[5]; Παράδειγμα
for (i=0; i<5; i++) cout<<"\nassign value to the "<<i+1<<"element of the array: "; cin>>a[i]; for (i=0; i<5; i++) cout<<a[i]<<" "; return 0;
Άσκηση Να γράψετε πρόγραμμα που θα διαβάζει δύο μονοδιάστατους πίνακες με 5 ακέριους αριθμούς και στη συνέχεια το πρόγραμμα θα βρίσκει το άθροισμά και εσωτερικό γινόμενο τους. Το πρόγραμμα θα τυπώνει τους δυο πίνακες και το πίνακα που προκύπτει από το άθροισμα, να τυπώνει και το εσωτερικό γινόμενο.
#include<iostream> using namespace std; int main() int i; float a[5],b[5],c[5],scalar; scalar=0; for (i=0; i<5; i++) cout<<"\nassign value to the "<<i+1<<" element of " "the array a[5]: "; cin>>a[i];
for (i=0; i<5; i++) cout<<"\nassign value to the "<<i+1<<" element " " of the array b[5]: "; cin>>b[i]; for (i=0;i<5;i++) c[i]=a[i]+b[i]; scalar=scalar+a[i]*b[i];
for (i=0; i<5; i++) cout<<a[i]<<" "<<b[i]<<" "<<c[i]<<endl; cout<<"inner product "<<scalar; return 0;
Άσκηση Να γράψετε πρόγραμμα που θα διαβάζει δύο μονοδιάστατους πίνακες με 5 ακέριους αριθμούς και στη συνέχεια τους ενώνει σε ένα μονοδιάστατο πίνακα. Το πρόγραμμα θα τυπώνει τους δυο πίνακες και το πίνακα που προκύπτει από την ένωση
Άσκηση Να γράψετε πρόγραμμα που θα διαβάζει ένα μονοδιάστατο πίνακα Α με 10 ακέριους αριθμούς και στη συνέχεια το πρόγραμμα θα τυπώσει τους δυο πίνακες από τούς οποίους ο πρώτος έχει άρτιους αριθμούς και ο δεύτερος έχει περιττούς αριθμούς του πίνακα Α.
#include<iostream> #include<math.h> using namespace std; int main() int i,j,k; int a[10],b[10],c[10]; j=0; k=0; for (i=0; i<10; i++) cout<<"\nassign value to the "<<i+1<<" element " "of the array a[10]: "; cin>>a[i];
for (i=0;i<10;i++) if(a[i]%2==0) b[j]=a[i]; j=j+1; else c[k]=a[i]; k=k+1;
if(j==0) cout<<"not even numbers in matrix"; else cout<<"matrix with even numbers :"<<endl; for (i=0; i<j; i++) cout<<b[i]<<endl;
if(k==0) cout<<"not odd numbers in matrix"; else cout<<"matrix with odd numbers :"<<endl; for (i=0;i<k;i++) cout<<c[i]<<endl; return 0;
Επεξεργασία μονοδιάστατων πινάκων a[i] Εμφάνιση στοιχείων του πίνακα που ικανοποιούν κάποια ιδιότητα Το a[i] βρίσκεται στο διάστημα [Α,Β] To a[i] βρίσκεται εκτός του διαστήματος [Α,Β] if(a[i]>=a&& a[i] <=B) if(a[i]<a a[i] >B) Το a[i] είναι πολλαπλάσιο του A if(a[i]%a==0) Το a[i] είναι θετικό (αρνητικό) Το a[i] είναι ίσο με τον αριθμό A if a[i] >0) (if(a[i] <0)) if(a[i]==a) Το a[i] είναι διάφορο του A if(a[i]!= A)
Επεξεργασία μονοδιάστατων πινάκων a[i] Υπολογισμός αθροίσματος, γινόμενου, πλήθους, μέσου όρου των στοιχείων ενός πίνακα ΧΩΡΙΣ ΣΥΝΘΗΚΗ Πριν το loop Εντός loop Εκτός loop Άθροισμα S=0; S=S+ a[i]; cout<<s; Γινόμενο P=1; P=P* a[i]; cout<<p; Μέσος Όρος S=0; PL1=0; S=S+ a[i]; PL1=PL1+1; cout<<s/pl1;
Επεξεργασία μονοδιάστατων πινάκων a[i] Υπολογισμός αθροίσματος, γινόμενου, πλήθους, μέσου όρου των στοιχείων ενός πίνακα που ικανοποιούν κάποια ιδιότητα ΜΕ ΣΥΝΘΗΚΗ Πριν το loop Εντός loop Εκτός loop Άθροισμα S=0; IF(συνθήκη) S=S+ a[i]; Γινόμενο P=1; IF(συνθήκη) P=P* a[i]; Πλήθος PL=0; IF(συνθήκη) PL=PL+1; cout<<s; cout<<p; cout<<pl; Μέσος Όρος S=0; PL=0; IF(συνθήκη) S=S+ a[i]; PL=PL+1; IF (PL==0) cout<< ΔΕΝ ΟΡΙΖΕΤΑΙ ELSE cout<<s/pl;
Εμφάνιση στοιχείων του πίνακα που ικανοποιούν κάποια ιδιότητα
Άσκηση Να γραφεί πρόγραμμα το οποίο, αφού θα διαβάζει 5 ακέριους αριθμούς, θα τους τοποθετεί σε ένα πίνακα και στη συνέχεια θα εμφανίζει τα εξής: α) τους αριθμούς που είναι έξω από το διάστημα [-5,5]. β) τη θέση των στοιχείων του πίνακα που έχουν τιμή 3.
#include<iostream> #include<math.h> using namespace std; int main() int i,j; int a[5],b[5]; j=0;
for (i=0; i<5; i++) cout<<"\nassign value to the "<<i+1<< " element " " of the array a[5]: "; cin>>a[i]; for (i=0;i<5;i++) if(a[i]<-5 a[i]>5) b[j]=a[i]; j=j+1;
if(j==0) cout<<"not numbers which are out from " " interval [-5,5] "<<endl; else cout<<"the numbers which are out from " " interval [-5,5] are"<<endl; for (i=0;i<j;i++) cout<<b[i]<<endl;
for (i=0;i<5;i++) if(a[i]==3) cout<<"position of number 3 in " " matrix a[i] is " <<i+1<<endl; return 0;