Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <algorithm>
- #include <iostream>
- #include <unistd.h>
- using namespace std;
- #define DIM 10
- int sort(int vec[], int size)
- {
- for(int i = 0; i < DIM - 1; i++)
- for(int i = 0; i < DIM - 1; i++)
- if(vec[i] < vec[i + 1])
- swap(vec[i], vec[i + 1]);
- }
- void search(int vec[], int elem, int start, int end)
- {
- int mid = (start + end) / 2;
- while(vec[mid] != elem && start != end) {
- if(vec[mid] > elem)
- end = mid;
- else if(vec[mid] < elem)
- start = mid;
- else
- cout << "elemento trovato a posizione " << mid << "\n";
- }
- }
- int main() {
- int vec[DIM];
- int input;
- cout << "fare riferimento al testo\n";
- while(true) {
- cout << ") ";
- cin >> input;
- switch(input) {
- case 1:
- cout << "inserimento vettore\n";
- for(int i = 0; i < DIM; i++) {
- cout << "posizione " << i << ": ";
- cin >> vec[i];
- }
- break;
- case 2:
- cout << "stampa vettore\n";
- for(int i = 0; i < DIM; i++)
- cout << vec[i] << "\n";
- break;
- case 3:
- cout << "stampa vettore al contrario\n";
- for(int i = 0; i < DIM; i++)
- cout << vec[DIM - i] << "\n";
- break;
- case 4:
- cout << "stampa elementi pari\n";
- for(int i = 0; i < DIM; i++)
- if(!(vec[i] % 2))
- cout << vec[i] << "\n";
- break;
- case 5:
- cout << "stampa posizione pari\n";
- for(int i = 0; i < DIM; i++)
- if(!(i % 2))
- cout << vec[i] << "\n";
- break;
- case 6:
- cout << "stampa elementi dispari\n";
- for(int i = 0; i < DIM; i++)
- if(vec[i] % 2)
- cout << vec[i] << "\n";
- break;
- case 7:
- cout << "stampa posizione dispari\n";
- for(int i = 0; i < DIM; i++)
- if(i % 2)
- cout << vec[i] << "\n";
- break;
- case 8: {
- int max = vec[0];
- int min = vec[0];
- for(int i = 1; i < DIM; i++) {
- if(vec[i] > max) max = vec[i];
- if(vec[i] < min) min = vec[i];
- }
- cout << "min: " << min << "\n" << "max: " << max << "\n";
- break;
- }
- case 9: {
- int s;
- for(int i = 0; i < DIM; i++)
- s += vec[i];
- cout << "somma elementi vettore: " << s << "\n";
- break;
- }
- case 10: {
- int s;
- for(int i = 0; i < DIM; i += 2)
- s += vec[i];
- cout << "somma posizioni pari:" << s << "\n";
- for(int i = 1; i < DIM; i += 2)
- s += vec[i];
- cout << "somma posizioni dispari:" << s << "\n";
- break;
- }
- case 11:
- cout << "recicerca elemento linearmente (lazy)\n> ";
- cin >> input;
- for(int i = 0; i < DIM; i++)
- if(vec[i] == input) {
- cout << "elemento " << vec[i] << " a posizione " << i << "\n";
- break;
- }
- break;
- case 12:
- cout << "recicerca elemento linearmente (lazy)\n> ";
- cin >> input;
- for(int i = 0; i < DIM; i++)
- if(vec[i] == input) {
- cout << "elemento " << vec[i] << " a posizione " << i << "\n";
- }
- break;
- case 13:
- break;
- case 14:
- #if defined(lazy_sort)
- sort(vec.begin(), vec.end());
- #else
- sort(vec, DIM);
- #endif
- break;
- case 15:
- search(vec, input, 0, DIM);
- break;
- case 16:
- cout << "azzera vettore\n";
- memset(vec, 0, DIM);
- break;
- case 17:
- return 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement