Αντιγραφή υπό συνθήκη στοιχείων πίνακα στη C++

Έστω δύο μονοδιάστατοι πίνακες ακεραίων.

Να δημιουργηθεί τρίτος πίνακας που περιέχει σε κάθε θέση τη μεγαλύτερη τιμή από τις αντίστοιχες θέσεις των δύο άλλων πινάκων. Πχ αν a[0]=1, b[0]=2 τότε c[0]=2, κτλ, κτλ.

Δείτε ένα παράδειγμα με πίνακες 5 θέσεων.

Οι 4 βρόγχοι for δίνονται για την αναλυτική επεξήγηση της άσκησης. Στην πραγματικότητα μπορούν να συμπτυχθούν σε 3, ή σε 2 ή ακόμα και σε ένα μόνο βρόγχο. Προσπαθήστε το!

#include <iostream>

using namespace std;

#define N 5

int main()
{
    int a[N], b[N], c[N];
    int i;
    
    cout << "first array:" << endl; 
    for (i=0; i < N; i++)
    {
        cin >> a[i];
    }
    
    cout << "second array:" << endl; 
    for (i=0; i < N; i++)
    {
        cin >> b[i];
    }
    
    cout << "filling final array:" << endl;
    for (i=0; i < N; i++)
    {
        if (a[i] > b[i])
        {
            c[i] = a[i];
        }
        else
        {
            c[i] = b[i];
        }
    }
    
    cout << "printing final array:" << endl;
    for (i=0; i < N; i++)
    {
        cout << c[i] << endl;
    }
    
    return 0;
}

Μεταγλώττιση και δοκιμαστική εκτέλεση:

astavrak@apollonia:~$ g++ program.cpp
astavrak@apollonia:~$ ./a.out 
first array:
3
4
5
4
3
second array:
11
22
33
1
1
printing final array:
11
22
33
4
3

Συνδεθείτε για περισσότερες δυνατότητες αλληλεπίδρασης,
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.

Αναζήτηση στο google.com για παρόμοια θέματα

Creative Commons License
Εκπαιδευτικό υλικό από τον Αθανάσιο Σταυρακούδη σας παρέχετε κάτω από την άδεια Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.

Αν επιθυμείτε μπορείτε να κάνετε μια δωρεά στον ιστότοπο