C++
môžeš si ten vektor utriediť vzostupne a potom vypíšeš prvé dva prvky...
Kód: Vybrať všetko
#include <stdio.h>
void maxsort(int a[], int n)
{
int i, j, max, pom;
for (i = n-1; i > 0; i--)
{
max = 0;
for (j = 1; j <= i; j++) if (a[j] > a[max]) max = j;
if (i != max)
{
pom = a[max];
a[max] = a[i];
a[i] = pom;
}
}
}
void main ()
{
int vektor[] = {2,3,4,5,6,1,7,8,9,-10};
maxsort(vektor, sizeof(vektor)/sizeof(vektor[0]));
printf("%d %d\n", vektor[0], vektor[1]);
}-
mastermind
VIP
- Príspevky: 4810
- Registrovaný: 09 feb 2005, 13:17
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
printf() sa používa v c, v c++ používaj cout
Kód: Vybrať všetko
#include <iostream>
using namespace std;
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main()
{ int vektor[] = {2,3,4,5,6,8,9,-10,};
int min1=NULL;
int min2=NULL;
for(int i=0; i<sizeof(vektor)/sizeof(vektor[0]);i++){
if(vektor[i]<min2){
if(vektor[i]<min1){
min2=min1;
min1=vektor[i]; }
else min2=vektor[i];
}
}
cout << "Minimum 1: " << min1 << endl << "Minimum 2: " << min2 << endl;
system("pause");
return 0;
}hej viem, skúšal som to jedných prechodom, ale nejak som sa zamotal v podmienkach tak som to tak nechalmastermind napísal:to je trochu blbe nemyslis? naco by si usporiadaval pole ked potrebujes najst iba 2 minimalne prvky. To sa da da aj jednym prechodom cez pole. Takto budes prechadzat niekolko krat
Či dá sa aj to jedným prechodom poľa (5 premenných?)?