Last active
October 10, 2023 09:35
-
-
Save semreh17/7e8adb1f8f2765423321f2e68e0488ca to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <string> | |
#include <fstream> | |
#include <vector> | |
using namespace std; | |
char divisioneArray(string contenutoDelloZaino) { | |
char carattereUguale; | |
size_t middleIndex = contenutoDelloZaino.size() / 2; | |
//creazione di due oggetti per la divisione della stringa 'contenutoDelloZaino' | |
vector<char> firstHalf(contenutoDelloZaino.begin(), contenutoDelloZaino.begin() + middleIndex); | |
vector<char> secondHalf(contenutoDelloZaino.begin() + middleIndex, contenutoDelloZaino.end()); | |
//controllo dei caratteri uguali fra la prima e la seconda metá della stringa caratteri | |
for(int i = 0; i < firstHalf.size(); i++) { | |
for(int j = 0; j < secondHalf.size(); j++){ | |
if(firstHalf[i] == secondHalf[j]) { | |
carattereUguale = firstHalf[i]; | |
} | |
} | |
} | |
return carattereUguale; | |
} | |
int sommaValoriCaratteri(char carattereUguale) { | |
int sommaValoreCarattereUguale = 0; | |
char alfabeto[52] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', | |
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', | |
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', | |
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; | |
for (int i = 0; i<53; i++) { | |
if(carattereUguale == alfabeto[i]) { | |
sommaValoreCarattereUguale = i+1; | |
} | |
} | |
return sommaValoreCarattereUguale; | |
} | |
int main() { | |
int sommaValoreCarattereUguale = 0; | |
string contenutoDelloZaino; | |
char carattereUguale; | |
ifstream nomeFile; | |
nomeFile.open("caratteri.txt"); | |
while(!nomeFile.eof()) { | |
if (!nomeFile.is_open()) { | |
cerr<< "Errore nell'apertura del file." << endl; | |
return 1; | |
} | |
getline(nomeFile, contenutoDelloZaino); | |
carattereUguale = divisioneArray(contenutoDelloZaino); | |
sommaValoreCarattereUguale += sommaValoriCaratteri(carattereUguale); | |
} | |
cout << sommaValoreCarattereUguale; | |
nomeFile.close(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment