السلام عليكم ورحمة الله وبركاتة
اليوم اريد ان اطلع 3 اكواد تختص بمعالجة النصوص اخذتها كواجب ... وبعد انتهاء فترة تسليم الواجبات احببت ان اضع الكود للجميع حتى يتم الاستفادة منه وتعديله اذا كانت فيه اخطاء
الكود الاول : يقوم بطباعة عد تكرارا الاحرف في سطر واحد
#include <iostream>using namespace std;const int size=400;int main(){ char line[size]; char string='a'; cin.getline(line,size,'\n'); for(int j=0;string<='z';j++,string++){ int counter=0; for(int i=0;line!='\0';i++) if(string==line) counter++; if(counter!=0) cout <<string<<" use "<<counter <<" Time"<<endl; } return 0;}الكود الثاني : يقوم بطباعة تكرار الكلمات المتساوية في عدد الاحرف في 3 اسطر.
#include <iostream>#include<cstring>using namespace std;void funspace(char []);const int size1=1500,size2=500,size=100;int main(){ int length; int lengtharray[size]={0}; char line[size1],line2[size2],line3[size2]; char *tokenPtr; cin.getline(line,size2,'\n'); funspace(line); cin.getline(line2,size2,'\n'); funspace(line2); strcat(line,line2); cin.getline(line3,size2,'\n'); strcat(line,line3); tokenPtr=strtok(line," "); while ( tokenPtr != NULL ) { length=strlen(tokenPtr); lengtharray[length-1]++; tokenPtr = strtok( NULL, " " ); } for(int i=0;i<size;i++) if(lengtharray!=0) cout<<lengtharray<< " word(s) of length :"<<i+1<<endl; return 0;}void funspace(char array[]){ for(int i=0;array<size2;i++) if(array=='\0'){ array=' '; array[i+1]='\0'; break;}}الكود الثالث : يقوم بكباعة على تكرار كل كلمة في قطعة تتكون من 5 اسطر ...( اجوا اختبارا الكود واعلامي بمدى فعاليته ) .
#include <iostream>#include <iomanip>using namespace std;void funspace(char []);const int size=2000,size2=400;int main(){ char line[size]; char line2[size]; char line3[size2]={'\0'}; char line4[size2]={'\0'}; char line5[size2]={'\0'}; char *strings[size2] ,*tokenPtr; int i=0; cin.getline(line,size2,'\n'); funspace(line); cin.getline(line2,size2,'\n'); funspace(line2); strcat(line,line2); cin.getline(line3,size2,'\n'); funspace(line3); strcat(line,line3); cin.getline(line4,size2,'\n'); funspace(line4); strcat(line,line4); cin.getline(line5,size2,'\n'); strcat(line,line5); tokenPtr=strtok(line," "); strings=tokenPtr; for (;tokenPtr != NULL;i++ ) { strings=tokenPtr; tokenPtr = strtok( NULL, " " ); } for(int k=0;k<i;k++ ){ int counter=1; if(*strings[k]==NULL) continue; else{ for(int r=(k+1);r<i;r++) if(*strings[k]==*strings[r]){ counter++; *strings[r]=NULL; } cout << std::setw(10)<<left<<*(strings+k)<<"use "<<counter<<" Time"<<endl; } } return 0;}void funspace(char array[]){ for(int i=0;array<size2;i++) if(array=='\0'){ array=' '; array[i+1]='\0'; break;}}