Scrieţi o funcție C care să determine poziţiile pe care se află valoarea minimă dintr-un vector cu elemente de tip întreg, primit ca parametru, şi să le înscrie într-un alt vector, ce va fi afişat din main() după încheierea execuţiei funcţiei.
Răspunsuri la întrebare
Răspuns de
0
Salut!
Ai codul cu rezolvarea mai jos
#include <iostream>
using namespace std;
const int N = 2147483647;
int* rez = new int[N];
int n, n_rez = 0;
void pozitii(int a[])
{
//Presupunem ca numerele sunt indexate de la 1
int mini = a[1];
for (int i = 2; i <= n; ++i) //putem sa incepem de la 2, deoarece ne-am ales deja elementul minim ca fiind a[1]
{
if (a[i] < mini)
{
mini = a[i];
}
}
for (int i = 1; i <= n; ++i)
{
if (a[i] == mini)
{
rez[++n_rez] = i;
}
}
}
int main()
{
int* a = new int[N];
cin >> n;
for (int i = 1; i <= n; ++i)
{
cin >> a[i];
}
pozitii(a);
for (int i = 1; i <= n_rez; ++i)
{
cout << rez[i] << " ";
}
return 0;
}
- Nu am inteles foarte clar daca afisarea trebuia facuta in functie sau in main, asa ca am decis sa o fac in main, daca trebuie din functie atunci doar copiezi ultimul for si il pui in interiorul functiei
andrei750238:
Se cerea in C, ai facut in C++
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Chimie,
9 ani în urmă
Engleza,
9 ani în urmă