I have another problem.
Can anybody say me what operation system is on the Judge PC. I have problem with #10 and #13 in this problem. Can anybody help me?
created
last reply
- 21
replies
- 876
views
- 12
users
I have another problem.
Can anybody say me what operation system is on the Judge PC. I have problem with #10 and #13 in this problem. Can anybody help me?
#include<iostream>
using namespace std;
main()
{
unsigned char znaki[256];
string a,b="";
for(int i=0; i<256; i++)
{
znaki[i]=i;
}
while(getline(cin,a))
{
a.append(" ");
a[a.length()-1]=10;
b=b+a;
}
for(int i=0; i<=255; i++)
{
int s=0;
for(int j=0; j<b.length(); j++)
{
if(znaki[i]==b[j]) s++;
}
if(s>0) cout<<i<<" "<<s<<endl;
}
}
Co ja tu mam źle? ... Niby wszystko działa jak ta lala ale pisze mi że błędna odpowiedź...[/code]
W tym zadaniu nalezu uzyc rozszerzonej ascii tlyko nie mam pojecia jak ja "wlaczyc"
Moj kod(super prosty i niezawodny dla standardowej ascii):
#include <iostream>
#include <string>
using namespace std;
int main()
{
int t[200];
for(int i = 0; i < 127;i++){t[i]=0;}
string str;
while(getline(cin,str) && (cin.eof() == false))
{
for(int i=0; i < str.length(); i++)
{
t[str[i]]++;
if(str[i]=='ó'){t[162]++;}
}
t[10]++;
}
for(int i=0; i < 127;i++)
{
if(t[i] != 0){cout << i<< " " << t[i] << endl;}
}
}
Ktos ma pomysl jkaby to przerzucic na extended ascii?
Możę mi ktoś powiedzieć czemu ten program nie działa? Właściwie to uż wiem czemu ale nie wiem jak to naprawić, polskie znaki czyta jako jakieś krzaczki.
#include <iostream>
using namespace std;
int main()
{
int tab[256];
unsigned char znak;
for(int i = 0; i < 256; i++) tab[i]=0;
while(scanf("%c", &znak)!=EOF) tab[znak]++;
for(int i = 0; i < 256; i++) if(tab[i] != 0) cout << i << ' ' << tab[i] << endl;
return 0;
}
pomoże ktoś?
Nie za bardzo wiem jakma to zrobić unią, zrobiłem więc strukturę, ale dalej ten sam błąd
#include <iostream>
using namespace std;
struct badaj
{
unsigned char znak;
int ile;
};
int main()
{
badaj tab[256];
unsigned char znak;
for(int i = 0; i < 256; i++)
{
tab[i].znak = static_cast<char>(i);
tab[i].ile = 0;
}
while(scanf("%c", &znak)!=EOF) tab[static_cast<int>(znak)].ile++;
for(int i = 0; i < 256; i++) if(tab[i].ile != 0) cout << static_cast<int>(tab[i].znak) << ' ' << tab[i].ile << endl;
return 0;
}
tab1[int z unii]++;
tab2[int z unii]= int z unii;
No to masz małą podpowiedź.
union un
{
signed char;
signed int;
};
int tablica[tutaj Twoja wielkość tablicy];
while(cin..........)tablica[int z unii ]++;
for(int a = 0; a < Twoja wielkość tablicy; ++a)
tutaj tylko wyświetlanie
Wystarczyła nawet jedna tablica.
Jakie to proste.