Se dă tabloul unidimensional A[1...10] de numere intregi. Scrieți un PROGRAM care va determina de câte ori se întalnește elementul MINIM din tabloul A.
Răspunsuri la întrebare
Program Pascal:
program MINIMAP;
var
a: array[1..10] of integer;
ap, n, i: integer;
MINIM: integer = 32767;
begin
writeln('Lungimea vectorului: ');
readln(n);
writeln('Introduceti elementele vectorului: ');
for i := 1 to n do
begin
readln(a[i]);
if (a[i] <= MINIM) then
MINIM := a[i];
end;
for i := 1 to n do
if (a[i] = MINIM) then
ap := ap + 1;
writeln('Minimul este: ', MINIM);
writeln('Numarul de aparitii a minimului este: ', ap);
readln();
end.
Explicație:
1) Se declară:
a) Un vector cu 10 elemente de tip integer
b) Variabilele ap, i, n de tip integer
c) Variabila MINIM de tip integer cu valoarea maxima pe care o poate avea un număr de tip integer, adică 32767 (Acest lucru se face pentru că așa zice algoritmul de aflarea numărului minim dintr-un șir de numere)
2) Se citește variabila n, care reprezintă numărul de elemente pe care le vom folosi din vector, sau, altfel zis - lungimea vectorului
3) Inițializăm un for de la 1 la n în care vom citi elementele vectorului și vom determina tot aici care este minimul (Algoritmul de determinare a numărului minim dintr-un șir de numere), pentru o mică optimizare a programului
4) Inițializăm încă un for, tot de la 1 la n, în care vom calcula numărul de apariții a acestei valori minime în acel vector deci verificăm dacă valoarea MINIM, mai apare în vector.. if (a[i]=MINIM)
5) Afișăm valorile cerute
Program C++:
#include <iostream>
using namespace std;
int v[11], n, ap, minim=999999999;
int main()
{
cin>>n;
for (int i=1; i<=n; i++)
{
cin>>v[i];
if (v[i]<minim)
minim=v[i];
}
for (int i=1; i<=n; i++)
if (v[i]==minim)
ap++;
cout<<"Numarul minim este: "<<minim<<endl<<"Numarul de aparitii a numarului minim este: "<<ap;
return 0;
}