Ahoj :) Prosím o radu jak mám vypsat procentuelně ta císla z polí ? díky :)
Příspěvky odeslané z IP adresy 77.104.244.–
Tonda
Tonda
Trochu jsem to upravil, ale nevím jak zadávat ten textovy soubor z konzole, tak aby to fungovalo. Takhle mi to funguje jen dodělat procenta, zadání textu, a par prkotin.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
const char NazevSouboru[] = "c:/test.txt";
int main ()
{
string odkladani;
ifstream VstupniSoubor (NazevSouboru); //open my file stream
if (VstupniSoubor.is_open())
{
//Vytvoreni poli
int poleVelka[26] = {0};
int poleMala[26] = {0};
//precteni textu
while (!VstupniSoubor.eof() )
{
//radek textui
getline (VstupniSoubor, odkladani);
//precte kazde pismeno v radku
char znak;
for(unsigned n = 0; n < odkladani.length(); ++n)
{
znak = char( odkladani[n] ); // ziskani znaku
if (znak >= 'A' && znak <='Z') {
poleVelka[int(znak)- 'A']++;
}
else if (znak >= 'a' && znak <='z') {
poleMala[int(znak)- 'a']++;
}
}
}//konec while
VstupniSoubor.close(); //uzavreni souboru
//vypis
for (int i= 0; i < 26; i++)
cout << char(i + 65) << "\t\t" << poleMala[i] << char(i + 97) << "\t\t" << poleMala[i] << endl;
}//konec if
else cout << "Chyba";
return 0;
}
Tonda
Ahoj můžete mi prosím ještě jednou poradit, jsem uplně levej vůbec mi to nejde. Děkuju tohle jsem zplodil :)
Nevím jak tam mám načíst ten textovej soubor z konzole.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main ()
{ string NazevSouboru;
ifstream VstupniSoubor (NazevSouboru); //otevreni souboru
cout << "Zadejte nazev textoveho souboru:";
getline(cin,NazevSouboru);//zadani nazvu konzoli
VstupniSoubor.open(NazevSouboru.c_str());//otevreni souboru
const char NazevSouboru[];
string odkladani;
if (VstupniSoubor.is_open())
{
//Vytvoreni poli
int poleVelka[26] = {0};
int poleMala[26] = {0};
//precteni textu
while (!VstupniSoubor.eof() )
{
//radek textui
getline (VstupniSoubor, odkladani);
//precte kazde pismeno v radku
char znak;
for(unsigned n = 0; n < odkladani.length(); ++n)
{
znak = char( odkladani[n] ); // ziskani znaku
if (znak >= 'A' && znak <='Z') {
poleVeka[int(znak)- 'A']++;
}
else if (znak >= 'a' && znak <='z') {
poleMala[int(znak)- 'a']++;
}
}
}//konec while
VstupniSoubor.close(); //uzavreni souboru
//vypis
for (int i= 0; i < 26; i++)
cout << char(i + 65) << "\t\t" << poleMala[i] << char(i + 95) << "\t\t" << poleMala[i] << endl;
}//konec if
else cout << "Chyba";
return 0;
}
Tonda
#3
- program nerozlišuje Velká a malá písmena
- vykřičníky ani zádné jiné znaky krom abecedy se také nepočítájí
- se znaky nedělat nic jen vypsat procentuelně A-Z tak jak jsou procentuelně podle výskytu za sebou
- počet písmen se počítá pro celý text
- C++
Děkuji