|
|
|
![]() |
|
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: 07:33.