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

#include
#include
using namespace std;

int main()
{
int v[100];
int i,n;
int p=0;
cout<<"Introduceti dimensiunea vectorului:";
cin>>n;
while (n>=0 && n<100)
{ v[n] = n;}
cout<<"Error 404 :)) . Introduceti o dimensiune cuprinsa intre 0 si 100:";
cin>>n;
cout<<"Introduceti elementele vectorului:";
for(i=0;i<=n;i++) {
cout<<"\nv["< cin>>v[i];
if(v[i]>=0){
p++;
} }
cout<<"Numarul numerelor pozitive este:"<

return 0;
}

Am incercat sa fac un programel dat pentru acasa si vreau sa fie cum trebuie. Numai ca nu stiu cum sa fac ca numarul "n" introdus de la tastatura sa se incadreze in dimensiunea vectorului de 100 , iar in caz ca se introduce o alta valoare peste limita sau un caracter necorespunzator sa apara un mesaj de eroare si sa reia comanda de citire a numarului. De asemenea, si cand se introduc valorile vectorilor. Ma ajuta cineva ?

Răspunsuri la întrebare

Răspuns de Utilizator anonim
5
Salut, dupa ce citesti vectorul poti sa folosesti comanda assert();
Exemplu 
assert(vectorul tau<100);
#include <cassert>


moonlight01: Da.. Si daca utilizatorul introduce un numar negativ sau peste 100 sau orice caracter , sa reia comanda de citire a dimensiunii
moonlight01: Pana o introduce o valoare valida
Utilizator anonim: #include <iostream>
using namespace std;
int main()
{
int v[1001],n,poz=0;
cout<<"Introduceti dimensiunea vectorului:";
cin>>n;
if(n<0||n>100)
cout<<"Error 404 :)) . Introduceti o dimensiune cuprinsa intre 0 si 100:";
cin>>n;
cout<<"Introduceti elementele vectorului:";
for(int i=1;i<=n;++i)
{
cin>>v[i];
if(v[i]>0)poz++;
}
cout<<"Numarul numerelor pozitive este:"<<poz;
}
Utilizator anonim: acum este ok?
moonlight01: nu
moonlight01: Eu daca introduc acum o litera gen " q, a ,, g ,te dsfs " nu imi apare eroare si nici nu reia comanda
moonlight01: Si nici nu apare sa scriu v[0] = .. v[1] = ... etc
moonlight01: #include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
int v[100];
int i,n;
int p=0;
cout<<"Introduceti dimensiunea vectorului:";
cin>>n;
cout<<"Introduceti elementele vectorului:";
for(i=0;i<=n;i++) {
cout<<"\nv["<<i<<"]=";
cin>>v[i];
if(v[i]>=0){
p++;
} }
cout<<"Numarul numerelor pozitive este:"<<p;
return 0;
}
moonlight01: Deci cum fac ? :))
moonlight01: biblioteca #include <cstdlib> a ramas acolo dupa ce am incercat eu ceva.. Am sters-o
Răspuns de ruxyM
1
ar fi mai usor daca ai folosi urmatoarea secveta la citirea vectorului :                    int n;  cin>>n; int v[n]        asa esti sigur ca vectorul are fix n elemente.















Alte întrebări interesante