Ajutor la finisarea programului

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++
Post Reply
expanded
Junior
Junior
Posts: 3
Joined: 06 Oct 2012, 19:49

Ajutor la finisarea programului

Post by expanded » 06 Oct 2012, 20:08

Salut, sunt incepator in limbajul dat,
la inceput ma dat niste valori pozitive cit si negative fiecarui tablou, acum mi-a ramas doar sa determin ultimul numar poziti cu valoare minima si primul element negativ cu valoare maxima, cit si pozitiile lor in tablou
Dupa idee la Run trebuie sa se afiseze: 1 -8 si pozitiile lor: 9 si 3

Am inceput asa, insa m-am blocat, da-ti-mi o maina de ajutor...
Multumesc anticipat

Code: Select all

#include<stdio.h>
#include<conio.h>


void minim(int array[],int length)
{
int i, min=array[0];
      for(i=0; i<length; i++)
      {

	  if (array[i]<min)
	  {
	      min=array[i];
	  }
	 
      }
   printf("%i %i\n",min);
   }


int main()

{

int tablou[10];
    tablou[0]=-7;
    tablou[1]=-3;
    tablou[2]=-8;
    tablou[3]=4;
    tablou[4]=3;
    tablou[5]=6;
    tablou[6]=8;
    tablou[7]=2;
    tablou[8]=1;
    tablou[9]=0;
    minim(tablou,10);
    return 0;
    }



User avatar
zlatomir
Membru++
Membru++
Posts: 282
Joined: 04 Jul 2009, 23:59
Location: Arad
Contact:

Re: Ajutor la finisarea programului

Post by zlatomir » 06 Oct 2012, 21:15

Nu am inteles exact ce vrei sa zici "sa determin ultimul numar poziti cu valoare minima si primul element negativ cu valoare maxima".

Dar iti explic pt minim si te prinzi tu si pt restu, deci ca sa afisezi si pozitia trebuie sa o salvezi intr-o variabila, adica in functia minim o sa mai ai o variabila pe langa min, sa-i zicem pozitiaMinim si acestei variabile ii vei atribui valoarea lui i + 1 atunci cand gasesti un nou minim si la sfarsit afisezi si variabila pozitiaMinim.

Cateva sugestii: pune putin mai ordonat acoladele si indentarea - sa se vada clar care instructiune in din care bloc face parte si printarea rezultatelor fa-o mai ordonat: printf("Minimul este: %i si a fost gasit in pozitia: %i\n", min, pozitiaMinim); e mult mai ok decat printf("%i %i\n",min, pozitiaMinim); si in plus cand vei recapitula pt teza/bac/atestat, ce-o fi, o sa te prinzi mult mai usor ce face fiecare programel.

expanded
Junior
Junior
Posts: 3
Joined: 06 Oct 2012, 19:49

Re: Ajutor la finisarea programului

Post by expanded » 07 Oct 2012, 13:12

Multumesc pentru reply, m-a ajutat
zlatomir wrote:Nu am inteles exact ce vrei sa zici "sa determin ultimul numar poziti cu valoare minima si primul element negativ cu valoare maxima".
Am avut invedere ca sa il afisez cel mai mare numarul negativ , adica -8 si ultimul element pozitiv cu valoare minima (1 sau 0)

Insa cu 1 parte a programului am finisat, la executare se afiseaza -8 si pozitia lui, adica 3

Code: Select all

#include<stdio.h>
#include<conio.h>


void minim(int array[],int length)
{
int i, min=array[0], pozitiaMinim;
     for(i=0; i<length; i++)
     {
     if (array[i]<min)
     {
     min=array[i];              // Determinarea elemetului negativ cu valoare maxima
     pozitiaMinim=1+i;          // Pozitia elementului negativ cu valoare maxima
     }
     }


      printf("Minimul este: %i si a fost gasit in pozitia: %i\n", min, pozitiaMinim);
     }


int main()

{

int tablou[10];
    tablou[0]=-7;
    tablou[1]=-3;
    tablou[2]=-8;
    tablou[3]=4;
    tablou[4]=3;
    tablou[5]=6;
    tablou[6]=8;
    tablou[7]=2;
    tablou[8]=1;
    tablou[9]=0;
    minim(tablou,10);
    return 0;
}
Acum mi-a ramas a 2-a jumatate a programului, pot sa adaug in acceasi functie pt a afla elementul pozitim cu valoare minima? sa nu?

Post Reply