Informatică, întrebare adresată de Sebi53, 8 ani în urmă

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 Sergetec
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