Ciao a tutti, ho urgente bisogno di aiuto, questa è la traccia:
Dato un vettore di interi v e un intero x scrivi una funzione in C che stabilisce se esistono in v dueelementi
v[i] e v[i] tali che v[i] + v[i] = x. Calcola la complessita computazionale dell'algoritmo
proposto. Esiste un'algoritmo che funziona in tempo
O(n^2)? E possibile fare meglio?
Questo è quello che ho provato a fare
codice:#include <stdio.h> #include <stdlib.h> int main() { int v[100], n, i, j, position; printf("Inserisci il numero degli elementi\n"); scanf("%d", &n); printf("Inserisci %d elementi\n", n); for ( i = 0 ; i < n ; i++ ) scanf("%d", &v[i]); int x; printf("inserisci un intero x \n"); scanf("%d", &x); for ( i = 0 ; i < ( n - 1 ) ; i++ ) { position = i; int somma = v[position] + v[j]; for ( j = i + 1 ; j < n ; j++ ) { if ( somma = x ) somma = x; } if ( somma != x ) i++; } system("pause"); return 0; }