Informatică, întrebare adresată de dolghii2017, 9 ani în urmă

Se considera multimea A=[1,2,3..6]si B[2,4..8] Scrieti un program care va afisa intersectia .
urgent

Răspunsuri la întrebare

Răspuns de ated
0
#include <iostream>

using namespace std;

int main()
{
    int A[] = {1, 2, 3, 4, 5, 6},
        B[] = {2, 4, 6, 8};
    for (int i=0; i<6; i++)
        for (int j=0; j<4; j++)
            if (A[i] == B[j])
                cout << A[i] << " ";
    return 0;
}

sau (acelasi lucru):

#include <iostream>

using namespace std;

int main()
{
    int A[] = {1, 2, 3, 4, 5, 6},
        B[] = {2, 4, 6, 8};
    for (int i=0; i<sizeof(A)/sizeof(int); i++)
        for (int j=0; j<sizeof(B)/sizeof(int); j++)
            if (A[i] == B[j])
                cout << A[i] << " ";
    return 0;
}

Unde sizeof(A) = 6 * sizeof(int), 6 fiind numarul de elemente ale vectorului A (e 6 si nu 100 pentru ca vectorul a fost declarat cu int[] A = {...}, iar C++ stie cate elemente contine, comparat cu int A[100], in care oricate elemente ai stoca, tot marimea de 100 zice ca o are), iar "int" din "sizeof(int)" este tipul elementelor din vector (el fiind declarat cu INT A[] = {...}).
Si noua ne trebuie 6-le ala in primul for, si el e egal cu sizeof(A) / sizeof(int) (adica exact ce am pus in primul for). E bine sa stii varianta asta ca poate vrei sa mai adaugi inca un element in multimea A, si daca ai fi scris manual marimea lui in mai multe locuri ar fi trebuit sa o inlocuiesti in toate locurile.


dolghii2017: in pascal v rog
ated: Nu stiu pascal, scuze.
Alte întrebări interesante