Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- #include <array>
- using namespace std;
- class chimica {
- public:
- void configurazione_elettronica(int numero_atomico) {
- //dichiarazione variabili contatore e variabili tmp
- int i;
- int x;
- //dichiarazione dell'array di elettroni che potrebbero essere dell'atomo con il n.a passato
- std::array<int,121> elettroni;
- //azzeramento di tutti i valori alla partenza
- for (int i = 0; i < 121; i++) {
- elettroni[i] = 0;
- }
- //impostazione di tanti 1 quanti gli elettroni dell'atomo con il n.a passato
- i = 0;
- while (numero_atomico > 0) {
- elettroni[i] = 1;
- numero_atomico = numero_atomico - 1;
- i++;
- }
- //controlli per orbitali
- ///caso nullo
- if ((elettroni[0] + elettroni[1]) == 0) {
- cout << "zero elettroni";
- }
- ///primo orbitale
- //orbita s
- if (elettroni[0] + elettroni[1] > 0) {
- cout << "1s" << elettroni[0] + elettroni[1];
- }
- ///secondo orbitale
- //orbita s
- if (elettroni[2] + elettroni[3] > 0) {
- cout << "/2s" << elettroni[2] + elettroni[3];
- }
- //orbita p
- x = 0;
- for (int i = 4; i < 10; i++) {
- x = x + elettroni[i];
- }
- if(x > 0)
- cout << "/2p" << x;
- ///terzo orbitale
- //orbita s
- if (elettroni[10] + elettroni[11] > 0) {
- cout << "/3s" << elettroni[10] + elettroni[11];
- }
- //orbita p
- x = 0;
- for (int i = 12; i < 18; i++) {
- x = x + elettroni[i];
- }
- if (x > 0)
- cout << "/3p" << x;
- //orbita d
- x = 0;
- for (int i = 18; i < 28; i++) {
- x = x + elettroni[i];
- }
- if (x > 0)
- cout << "/3d" << x;
- ///quarto orbitale
- //orbita s
- if (elettroni[28] + elettroni[29] > 0) {
- cout << "/4s" << elettroni[28] + elettroni[29];
- }
- //orbita p
- x = 0;
- for (int i = 30; i < 36; i++) {
- x = x + elettroni[i];
- }
- if (x > 0)
- cout << "/4p" << x;
- //orbita d
- x = 0;
- for (int i = 36; i < 46; i++) {
- x = x + elettroni[i];
- }
- if (x > 0)
- cout << "/4d" << x;
- //orbita f
- x = 0;
- for (int i = 46; i < 59; i++) {
- x = x + elettroni[i];
- }
- if (x > 0)
- cout << "/4f" << x;
- ///quinto orbitale
- //orbita s
- if (elettroni[59] + elettroni[60] > 0) {
- cout << "/5s" << elettroni[59] + elettroni[60];
- }
- //orbita p
- x = 0;
- for (int i = 61; i < 67; i++) {
- x = x + elettroni[i];
- }
- if (x > 0)
- cout << "/5p" << x;
- //orbita d
- x = 0;
- for (int i = 67; i < 76; i++) {
- x = x + elettroni[i];
- }
- if (x > 0)
- cout << "/5d" << x;
- //orbita f
- x = 0;
- for (int i = 77; i < 91; i++) {
- x = x + elettroni[i];
- }
- if (x > 0)
- cout << "/5f" << x;
- ///sesto orbitale
- //orbita s
- if (elettroni[91] + elettroni[92] > 0) {
- cout << "/6s" << elettroni[91] + elettroni[92];
- }
- //orbita p
- x = 0;
- for (int i = 93; i < 99; i++) {
- x = x + elettroni[i];
- }
- if (x > 0)
- cout << "/6p" << x;
- //orbita d
- x = 0;
- for (int i = 99; i < 109; i++) {
- x = x + elettroni[i];
- }
- if (x > 0)
- cout << "/6d" << x;
- ///settimo orbitale
- //orbita s
- if (elettroni[109] + elettroni[110] > 0) {
- cout << "/7s" << elettroni[109] + elettroni[110];
- }
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement