Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ES 0
- #include <iostream>
- #include <cstring>
- using namespace std;
- int main() {
- char A[100];
- char B[50];
- cout << "Inserisci la prima stringa: ";
- cin.getline(A, 100);
- cout << "Inserisci la seconda stringa: ";
- cin.getline(B, 50);
- if(strstr(A, B) != NULL)
- cout << "vero" << endl;
- else
- cout << "falso" << endl;
- return 0;
- }
- #ES 1
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- //per numeri reali in generale ci si riferisce a numeri che possono anche avere la ','
- void caricaVettore(float v[], int n) {
- for(int i = 0; i < n; i++) {
- v[i] = rand();
- }
- }
- void stampaVettore(float v[], int n){
- cout << "stampa: ";
- for(int i = 0; i < n; i++){
- cout << v[i] << " ";
- }
- cout << endl << "stampa inversa: " << endl;
- //per la stampa inversa, delle 3 cose che trovi dentro la tonda del for(), cioè:
- //for(inizializzazione; cond. di terminazione; instr. a fine ciclo)
- //ne inverto la logica.
- for(int i = n-1; i >= 0; i--){
- cout << v[i] << " ";
- }
- cout << endl;
- }
- float calcolaMedia(float v[], int n, bool pari) {
- float somma = 0;
- int conteggio = 0;
- for(int i = 0; i < n; i++) {
- if(i % 2 == pari) { //i % 2 restituisce il resto della divisione i / 2
- somma += v[i];
- conteggio++;
- }
- }
- return somma / conteggio;
- }
- int main() {
- float VET[10];
- caricaVettore(VET, 10);
- stampaVettore(VET, 10);
- float mediaPari = calcolaMedia(VET, 10, true);
- float mediaDispari = calcolaMedia(VET, 10, false);
- cout << "media pos pari: " << mediaPari << endl;
- cout << "media pos dispari: " << mediaDispari << endl;
- return 0;
- }
- #ES 2
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- #define n 20
- using namespace std;
- void caricaVettore(int v[]) {
- cout << "Inserire 20 interi." << endl;
- for(int i = 0; i < n; i++) {
- cin >> v[i];
- }
- }
- void calcolaAreaPerimetro(int lato[], int area[], int perimetro[]) {
- for(int i = 0; i < n; i++) {
- area[i] = lato[i] * lato[i];
- perimetro[i] = 4 * lato[i];
- }
- }
- void stampaRisultati(int lato[], int area[], int perimetro[]) {
- for(int i = 0; i < n; i++) {
- cout << "Quadrato " << i+1 << ": Lato = " << lato[i] <<
- ", Area = " << area[i] <<
- ", Perimetro = " << perimetro[i] << endl;
- }
- }
- int main() {
- int LATO[20];
- int AREA[20];
- int PERIMETRO[20];
- caricaVettore(LATO);
- calcolaAreaPerimetro(LATO, AREA, PERIMETRO);
- stampaRisultati(LATO, AREA, PERIMETRO);
- return 0;
- }
- #ES 3
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- #define n 20
- using namespace std;
- void caricaVettore(int v[][3]) {
- cout << "Inserire 20 interi." << endl;
- for(int i = 0; i < n; i++) {
- cin >> v[i][0];
- }
- }
- void calcolaAreaPerimetro(int quadrati[][3]) {
- for(int i = 0; i < n; i++) {
- quadrati[i][1] = quadrati[i][0] * quadrati[i][0]; //area
- quadrati[i][2] = 4 * quadrati[i][0]; // perimetro
- }
- }
- void stampaRisultati(int quadrati[][3]) {
- for(int i = 0; i < n; i++) {
- cout << "Quadrato " << i+1 << ": Lato = " << quadrati[i][0] << ", Area = " << quadrati[i][1] << ", Perimetro = " << quadrati[i][2] << endl;
- }
- }
- int main() {
- int quadrati[20][3];
- caricaVettore(quadrati);
- calcolaAreaPerimetro(quadrati);
- stampaRisultati(quadrati);
- return 0;
- }
- #ES 4
- #include <iostream>
- #include <cstring>
- using namespace std;
- void confronta(char a[], char b[]) {
- if(strcmp(a, b) == 0) {
- cout << "le stringhe sono uguali" << endl;
- } else {
- if(strcmp(a, b) < 0){
- cout << "prima stringa < seconda stringa"
- } else {
- cout << "prima stringa > seconda stringa"
- }
- }
- }
- bool palindroma(char a[]) {
- int n = strlen(a);
- for(int i = 0; i < n / 2; i++) {
- if(a[i] != a[n-i-1]) {
- return false;
- }
- }
- return true;
- }
- int main() {
- char AREA[10];
- char AREAB[10];
- cout << "inserisci la prima stringa: ";
- cin.getline(AREA, 10);
- cout << "inserisci la seconda stringa: ";
- cin.getline(AREAB, 10);
- confronta(AREA, AREAB);
- if(palindroma(AREA)) {
- cout << "la prima è palindroma." << endl;
- } else {
- cout << "la prima non è palindroma." << endl;
- }
- if(palindroma(AREAB)) {
- cout << "la seconda è palindroma." << endl;
- } else {
- cout << "la seconda non è palindroma." << endl;
- }
- return 0;
- }
- #ES 5
- #include <iostream>
- #include <cstring>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- void calcolaFrequenze(char VET[], int FREQ[]) {
- for(int i = 0; i < 99; i++) {
- FREQ[VET[i] - 'A']++; // incrementa il conteggio per la lettera corrispondente
- //Dentro le quadre di FREQ[] ci ho messo VET[i] - 'A' per scrivere il codice in maniera compatta e leggibile
- }
- for(int i = 0; i < 26; i++) {
- FREQ[i] = FREQ[i]/10;
- }
- }
- int main() {
- char VET[100];
- int FREQ[26] = {0}; //26 lettere dell'alfabeto -> FREQ[] lungo 26 celle.
- //ovviamente all'inizio inizializzo tutte le celle a 0
- // Carica lettere casuali nell'array
- for(int i = 0; i < 99; i++) {
- VET[i] = 'A' + rand() % 26; // genera lettera casuale tra A e Z
- //se non mettessi "'A' + etc..." potrebbero uscire caratteri non stampabili
- }
- VET[99] = '\0'; // qui terminiamo la stringa
- calcolaFrequenze(VET, FREQ);
- // stampa array frequenze
- for(int i = 0; i < 26; i++) {
- cout << "Frequenza di " << char('A' + i) << ": " << FREQ[i]*10 << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement