Skip to main content

UVa 10062 - Tell me the frequencies!

/**
* 10062 - Tell me the frequencies!
* Author: ~menon
***/
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
struct data {
int cnt;
char ch;
};
bool flag = false;
void calculateFrequency(char *s);
int main()
{
char s[1005];
//freopen("input.txt", "r", stdin);
while(gets(s))
{
calculateFrequency(s);
}
return 0;
}
void calculateFrequency(char *s)
{
struct data myData[96];
int counts[96];
// set all the value of counts to 0;
memset(counts, 0, sizeof(counts));
//counts frequency;
for(int i = 0; s[i]; i++) {
if(s[i] >= 32 && s[i] <= 128) {
counts[s[i] - 32]++;
}
}
// copy counts[] into myData[] structure;
for(int i = 0; i < 96; i++) {
myData[i].cnt = counts[i];
myData[i].ch = i + 32;
}
// sort my structure accoding to condition;
struct data temp;
for (int i = 1; i < 96; i++)
for (int j = 0; j < 96 - i; j++) {
if (myData[j].cnt > myData[j + 1].cnt) {
temp = myData[j];
myData[j] = myData[j + 1];
myData[j + 1] = temp;
}
else if(myData[j].cnt == myData[j + 1].cnt) {
if(myData[j].ch < myData[j + 1].ch) {
temp = myData[j];
myData[j] = myData[j + 1];
myData[j + 1] = temp;
}
}
}
// this is for not printing any extra newline after output;
if(flag == true) {
printf("\n");
}
flag = true;
// prnt sorted frequency;
for(int i = 0; i < 96; i++) {
if(myData[i].cnt) {
printf("%d %d\n", myData[i].ch, myData[i].cnt);
}
}
}
view raw 10062.cpp hosted with ❤ by GitHub

Comments

Popular posts from this blog

উবুন্টুতে রুট পাসওয়ার্ড ভুলে তা রিকভার করার উপায় ।

যদি কেউ রুট পাসওয়ার্ড ভুলে যান তাহলে নিচের কাজ গুলো করে নতুন পাসওয়ার্ড সেট করতে পারবেন: প্রথমে পিসি রিস্টার্ট দিন । দিয়ে UP/DOWN করে kernel version সিলেক্ট করে e চাপুন । ব্ল্যাক Screen আসবে এবার একটা Space দিয়ে লিখুন “Single” [ Enter ] এরপর b চাপুন ফলাফল : লিনাক্সের Single user Mood এ চলে আসছেন । এখন লিখুন passwd root [ Enter ] এখন নতুন পাসওয়ার্ড খানা টাইপ করেন [ এন্টার ] আবার টাইপ করেন [ এন্টার ] কাজ শেষ , এবার reboot টাইপ করেন । এখন নতুন পাসওয়ার্ড দিয়ে লগইন করেন। পুনশ্চ : যদি আপনার উইন্ডোজ এর সাথে ডুয়েল বুট করা থাকে তবে এই প্রক্রিয়া কাজ করবে না ।

Fix The BIOS in this system is not fully ACPI compliant in Windows 7

এই সমস্যা সমাধান করার জন্য আপনি নিচের ধাপ গুলো অনুসরণ করুন। ধাপ ১ :  আপানর  কম্পিউটার এ উইন্ডোজ এর ডিস্ক থেকে বুট করুন । নীচের মত উইন্ডো আসলে Shift + F10 চাপুন । এর ফলে কমান্ড প্রম্প্ট ওপেন হবে। ধাপ ২ : এখন CMD তে নিচের কমান্ড গুলি ধারবাহিক ভাবে লিখুন C: bootrec /FixMbr bootrec /FixBoot bootrec /RebuildBcd exit  এখানে  C হলো যে ড্রাইভ এ উইন্ডোজ দেয়া আছে।  আপনার যদি অন্য কোনো ড্রাইভ ( D, E, F, ..... ) এ উইন্ডোজ দেয়া থাকে তবে আপনাকে C এর জায়গায় সেই ড্রাইভ এর নাম লিখতে হবে।  উপরের সব কমান্ড যদি সঠিক ভাবে বিল্ড হয় তবে আপনি আপনার কম্পিউটার রিস্টার্ট দিন।  দেখবেন আপনার সমস্যা সমাধান হয়ে গেছে :D