Αντιγραφή υπό συνθήκη στοιχείων πίνακα στη 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
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.
Εκπαιδευτικό υλικό από τον
Αθανάσιο Σταυρακούδη
σας παρέχετε κάτω από την άδεια
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς
http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.