|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Dec 2007
Messaggi: 14
|
[C++] programma che ridà valori singoli
Aiuto, mi serve un programma (console application).
Il testo del programma è il seguente: -scrivere un programma in linguaggio c++ con un array di max 100 numeri, che stampi tutti gli eventuali valori singoli (CHE NON HANNO DOPPIONI) e le posizioni relative all'interno del vettore stesso. es 4,2,3,5,6,2. il progr mi ridà 4,3,5,6 e le relative posizioni all'interno del vettore Se è possibile fare questo programma con solo -array -condizioni if else -cicli Ringrazio di cuore chiunque mi aiuti. Io ho fatto questo poi mi non so come fare " #include "stdafx.h" #include "iostream" #define max 100 using namespace std; void main() { int v[max],i,j,l,k,o; l=0; do{ cout<<"lunghezza vettore "; cin>>j; }while(j>max); for(i=0;i<j;i++) { cout<<"inserisci elementi "; cin>>v[i]; } "
__________________
Cpu: AMD phenom 9500 Motherboard: Asus M3A32-mvp deluxe Gpu: Asus EN8800GT Ram: 2x2GB dd2 800mhz HD: Sata2 320gb+80gb 7200rpm Case: Cooler master "Centurion" OS: Win Vista Ultimate SP1 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
implementazione semplice semplice
Codice:
#include <iostream>
using namespace std;
int main()
{
const int size=10;
int array[size]={3,5,3,5,78,12,76,98,32,54};
//sorting
int i,j,min,minat;
for(i=0;i<size-1;i++)
{
minat=i;
min=array[i];
for(j=i+1;j<size;j++) //select the min of the rest of array
{
if(min>array[j]) //ascending order for descending reverse
{
minat=j; //the position of the min element
min=array[j];
}
}
int temp=array[i] ;
array[i]=array[minat]; //swap
array[minat]=temp;
}
for(int i=1;i<=size;i++){
if(array[i-1]==array[i])
continue;
cout<<endl<<array[i-1];
}
}
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#3 | |
|
Junior Member
Iscritto dal: Dec 2007
Messaggi: 14
|
Quote:
potresti ripostarlo con i commenti in ita magari così lo capisco.
__________________
Cpu: AMD phenom 9500 Motherboard: Asus M3A32-mvp deluxe Gpu: Asus EN8800GT Ram: 2x2GB dd2 800mhz HD: Sata2 320gb+80gb 7200rpm Case: Cooler master "Centurion" OS: Win Vista Ultimate SP1 |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
allora
Codice:
#include <iostream>
using namespace std;
int main()
{
const int size=10;
int array[size]={3,5,3,5,78,12,76,98,32,54};
//ordinamento con selection sort, molto basilare e molto inefficente,
int i,j,min,minat;
for(i=0;i<size-1;i++)
{
minat=i;
min=array[i];
for(j=i+1;j<size;j++) //cicla per trovare il valore minimo seleziona il valore minimo
{
if(min>array[j]) //seleziona il valore minimo
{
minat=j; //posizione del valore minimo
min=array[j];
}
}
int temp=array[i] ;
array[i]=array[minat]; //scambio
array[minat]=temp;
}
for(int i=1;i<=size;i++){ //visualizza i valori
if(array[i-1]==array[i]) //se due valori consecutivi sono uguali il ciclo salta
continue;
cout<<endl<<array[i-1];
}
http://it.wikipedia.org/wiki/Selection_sort
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Dec 2007
Messaggi: 14
|
grazie
__________________
Cpu: AMD phenom 9500 Motherboard: Asus M3A32-mvp deluxe Gpu: Asus EN8800GT Ram: 2x2GB dd2 800mhz HD: Sata2 320gb+80gb 7200rpm Case: Cooler master "Centurion" OS: Win Vista Ultimate SP1 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:20.




















