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

Sa se elimine valoarea minima si maxima dintr-un vector cu n nr naturale. c++. urgent!!!!

Răspunsuri la întrebare

Răspuns de artur99
2
Versiunea cu un singur vector

#include <iostream>
using namespace std;
int main(){
    int n, i, j, d; cin>>n;
    int v[n];
    for(i=0;i<n;i++)cin>>v[i];
    for(i=0;i<n;i++){
        d=0;
        for(j=1;j<=n;j++)if(v[i]%j==0)d++;
        if(d==2){v[i]=-1;}
    }
    for(i=0;i<n;i++)if(v[i]>-1)cout<<v[i]<<" ";
}

AntiEaglesDavids: si vezi ca nu ii elimini defapt :))
AndraIrm: atunci ce le fac?
AntiEaglesDavids: stai ca iti rezolv eu dar ai rabdare?
artur99: lol, nu zi ca faci cu swift-uri?
artur99: vere, ma dezamagesti =)))
artur99: lol, btw :D in php se scotea usor valoarea din ram :D unlink($v[$i]); si gata =))
AntiEaglesDavids: pai la asta se refera
AntiEaglesDavids: :))))
AntiEaglesDavids: doar nu crezi ca ii invata memoria dinamica sau operatorii de alocare la scoala LOL
artur99: :))
Răspuns de AntiEaglesDavids
1
Uite aci.........................
Anexe:

AndraIrm: https://scontent-fra3-1.xx.fbcdn.net/hphotos-xpf1/v/t35.0-12/11990294_1653870701496382_365480022_o.jpg?oh=fc81c7015499c4ed750e0ceb2949de66&oe=55EB5530
artur99: Mda, deci problema e asta: tu acolo in loc sa iei fiecare element (v[1], v[2], etc...) si sa il compari la randul lui cu fiecare numar de la 1 la el insusi, tu il iei si vezi daca se imparte la i(care este pozitia la care te afli in vector...
artur99: Iti arat maine cum trebuie corectat al tau ca sunt pe tel :D
AntiEaglesDavids: stii, imi pare bine ca vrei sa rezolvi problema cu un rationament gandit de tine si imi place ca te-ai straduit dar trebuie sa iei in cosniderare ca la unele probleme, pur si simplu exista doar o metoda de rezolvare. Oriunde, ca sa aflii daca un numar este prim, nu numerii toti divizorii pe care ii are (desi functioneaza, e prea incet) ci vei verifica, doar o data apoi vei opri, daca se imparte la un divizor (pornind de la 2). Am sa incerc sa corectez si eu ce ai scris
AntiEaglesDavids: gata, ti-am corectat: http://pastebin.com/3pjU8sna
Unde nu intelegi sa ma intrebi
artur99: +1 varu
AntiEaglesDavids: +2 varu
AndraIrm: nu merge link-ul :(
AndraIrm: Am reusit sa-l deschid. Multumesc frumos si pentru explicatii. Asa am reusit sa inteleg mai bine ce urmeaza sa faca fiecare instructiune!
AntiEaglesDavids: N-ai pentru ce! Ma bucur ca ai inteles pana la urma!
Alte întrebări interesante