infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Petronel Catalin Joldescu din Noiembrie 08, 2013, 20:44:46



Titlul: Tablou unidimensional
Scris de: Petronel Catalin Joldescu din Noiembrie 08, 2013, 20:44:46
Salut. Am o "problema" la o problema:
Doua tablouri unidimensionale a si b , cu elementele a1 , a2 , … , an , respectiv b1 , b2 , … bn sunt in relaţia a<=b daca : a1<=b1 , a2<=b2 , … , an<=bn. Scrieţi program in limbajul C/C++ care citeşte doua tablouri unidimensionale a si b cu acelaşi număr de elemente de tip întreg si verifica daca a<=b sau b<=a afişând un mesaj adecvat.

Secventa de cod pe care am scris-o:
Cod:
#include <iostream>
using namespace std;
int main()
{
int M[100],N[100],n,i;
cin>>n;
for(i=0;i<n;i++)
{cout<<"M["<<i<<"]=";
cin>>M[i];}
for(i=0;i<n;i++)
{cout<<"N["<<i<<"]=";
cin>>N[i];}
for(i=0;i<n;i++)
if(M[i]<=N[i])
cout<<"M<N"<<endl;
else if(M[i]>=N[i])
cout<<"N<M";

}
imi analizeaza legaturile dintre toate elementele vectorilor si scrie mesajul adecvat pt fiecare :|
Spuneti-mi va rog cum pot evita erorile de genul acesta cu "for", nu doar la aceasta problema, ci in general cand a vorba de tablouri.
Vreau deci sa imi afiseze pt toate elementele, nu pt fiecare in parte. PS: mesajele din "cout" de la final sunt puse asa ... la repezeala.


Titlul: Răspuns: Tablou unidimensional
Scris de: Prehari Romica din Noiembrie 08, 2013, 22:20:04
Cod:
#include <iostream>
using namespace std;
int main()
{
 int M[100],N[100],n,i;
  int ok=0;  
cin>>n;
 for(i=0;i<n;i++)
 {cout<<"M["<<i<<"]=";
 cin>>M[i];}
 for(i=0;i<n;i++)
 {cout<<"N["<<i<<"]=";
 cin>>N[i];}
 for(i=0;i<n;i++)
 if(M[i]<=N[i])
    ok++;       //numara daca toate elementele din M sunt mai mari ca elementele din N
  if(ok==n)    
   cout<<"M<N"<<endl;
else
   if(ok==0)
   cout<<"M>N"<<endl;
}


Titlul: Răspuns: Tablou unidimensional
Scris de: Petronel Catalin Joldescu din Noiembrie 10, 2013, 19:10:05
Mersi mult.