Ionel s-a documentat şi a făcut o listă cu preturile ultimelor n smartphone-uri apărute şi altă listă cu preţurile celor mai vândute m tablete. Ajutaţi-l să determine cel mai scump smartphone şi cea mai ieftina tabletă. Dacă sunt mai multe, sa afişeze toate poziţiile din listele corespunzătoare.
Răspunsuri la întrebare
Răspuns:
Aici o să ne jucăm cu două lucruri: căutarea maximului și a minimului și căutarea valorilor găsite. Nu se știe dacă vectorul este ordonat sau nu, singura soluție este căutarea secvențială.
Ne vom folosi de doi vectori: vectorul smart și vectorul tablete. Fiecare va avea n, respectiv m elemente.
#include <iostream>
using namespace std;
int mai ()
{
int n, m, i, j, smart[100], tablete[100], max, min;
cin >> n >> m;
for(i = 0; i < n; i++)
{
cin >> smart[i];
}
for(j = 0; j <m; j++)
{
cin >> tablete[j];
}
max = smart[0];
for (i = 1; i < n; i++)
{
if (max < smart[i]) max = smart[i];
}
cout << max;
min = tablete[0];
for(j=1; j<m; j++)
{
if (min > tablete[i]) min = tablete[i];
}
cout << min;
}
Răspuns:
#include <iostream>
using namespace std;
int main ()
{
int n, m, i, phone[100], tablet[100], max, min;
cout<<"Introduceti n-smartphoneuri si m-tablete\n";
cin>>n;
//phones
max=0;
for (i=1; i<=n; ++i){
cin>>phone[i];
if (max==0) max=phone[i]; else{
if (max<phone[i]) max=phone[i];
}
}
cout<<"Cel mai scump smartphone "<<max<<" pozitia ";
if (n==1) cout<<"1"; else{
for (i=1; i<=n; ++i){
if(phone[i]==max) cout<<i<<"; ";}
}
cout<<"\n";
cout<<"Introduceti m-tablete\n";
cin>>m;
//tablete
min=0;
for (i=1; i<=m; ++i){
cin>>tablet[i];
if (min==0) min=tablet[i]; else{
if (min>tablet[i]) min=tablet[i];
}
}
cout<<"Cel mai ieftin tablet "<<min<<" pozitia ";
if (m==1) cout<<"1"; else{
for (i=1; i<=m; ++i){
if(tablet[i]==min) cout<<i<<"; ";}
}
return 0;
}