字元字串-呼叫中間增刪
字元字串-記憶體搬移
字元字串-呼叫記憶體搬移
Warshall's Algorithm
字元字串-記憶體搬移
字元字串-呼叫記憶體搬移
Warshall's Algorithm
重點不多但長到要命的東西自動鬼隱
e04為啥事情全都在同一周啊
無聊的東西別來亂啦~(眼神死)
e04為啥事情全都在同一周啊
無聊的東西別來亂啦~(眼神死)
字元字串-呼叫中間增刪
#include<iostream>
using namespace std;
char* INSERT(char*d,int pos,char c);
char* ERASE(char*d,int pos);
char* PUSH_FRONT(char*d,char c){
return INSERT(d,0,c);
}
char* PUSH_BACK(char*d,char c){
return INSERT(d,strlen(d),c);
}
char* POP_FRONT(char*d){
return ERASE(d,0);
}
char* POP_BACK(char*d){
return ERASE(d,strlen(d)-1);
}
char* INSERT(char*d,int pos,char c){
char*p=d;while(*p)p++;
for(;p>=d+pos;p--) *(p+1)=*p;
*(d+pos)=c;
return d;
}
char* ERASE(char*d,int pos){
char*p=d+pos;
for(;*p;p++)*p=*(p+1);
return d;
}
int main(){
cout<<"Input:";char d[1024];
int i;for(i=0,cin.read(&d[i],1); d[i]!='\r' && d[i]!='\n'; cin.read(&d[++i],1));d[i]=0;
cout<<endl<<d;
cout<<endl<<PUSH_FRONT(d,'A');
cout<<endl<<PUSH_BACK(d,'Z');
cout<<endl<<POP_FRONT(d);
cout<<endl<<POP_BACK(d);
return 0;
}
using namespace std;
char* INSERT(char*d,int pos,char c);
char* ERASE(char*d,int pos);
char* PUSH_FRONT(char*d,char c){
return INSERT(d,0,c);
}
char* PUSH_BACK(char*d,char c){
return INSERT(d,strlen(d),c);
}
char* POP_FRONT(char*d){
return ERASE(d,0);
}
char* POP_BACK(char*d){
return ERASE(d,strlen(d)-1);
}
char* INSERT(char*d,int pos,char c){
char*p=d;while(*p)p++;
for(;p>=d+pos;p--) *(p+1)=*p;
*(d+pos)=c;
return d;
}
char* ERASE(char*d,int pos){
char*p=d+pos;
for(;*p;p++)*p=*(p+1);
return d;
}
int main(){
cout<<"Input:";char d[1024];
int i;for(i=0,cin.read(&d[i],1); d[i]!='\r' && d[i]!='\n'; cin.read(&d[++i],1));d[i]=0;
cout<<endl<<d;
cout<<endl<<PUSH_FRONT(d,'A');
cout<<endl<<PUSH_BACK(d,'Z');
cout<<endl<<POP_FRONT(d);
cout<<endl<<POP_BACK(d);
return 0;
}
字元字串-記憶體搬移
#include<iostream>
using namespace std;
char* MEMCPY(char*ta,char *sa,int size){
char l[500];
strcpy(l,sa);
for(int i=0;i<size;i++){
ta[i]=l[i];
}
return ta;
}
int main(){
cout<<"Input:";char d[1024];
int i;for(i=0,cin.read(&d[i],1); d[i]!='\r' && d[i]!='\n'; cin.read(&d[++i],1));d[i]=0;
cout<<endl<<d;
MEMCPY(d+15,d+25,5);cout<<endl<<d;
MEMCPY(d+15,d+5,5);cout<<endl<<d;
MEMCPY(d+15,d+20,10);cout<<endl<<d;
MEMCPY(d+15,d+10,10);cout<<endl<<d;
return 0;
}
.....我果然很乾脆的浪費記憶體了
using namespace std;
char* MEMCPY(char*ta,char *sa,int size){
char l[500];
strcpy(l,sa);
for(int i=0;i<size;i++){
ta[i]=l[i];
}
return ta;
}
int main(){
cout<<"Input:";char d[1024];
int i;for(i=0,cin.read(&d[i],1); d[i]!='\r' && d[i]!='\n'; cin.read(&d[++i],1));d[i]=0;
cout<<endl<<d;
MEMCPY(d+15,d+25,5);cout<<endl<<d;
MEMCPY(d+15,d+5,5);cout<<endl<<d;
MEMCPY(d+15,d+20,10);cout<<endl<<d;
MEMCPY(d+15,d+10,10);cout<<endl<<d;
return 0;
}
.....我果然很乾脆的浪費記憶體了
字元字串-呼叫記憶體搬移
#include<iostream>
using namespace std;
char* INSERT(char*d,int pos,char c);
char* ERASE(char*d,int pos);
char* PUSH_FRONT(char*d,char c){
return INSERT(d,0,c);
}
char* PUSH_BACK(char*d,char c){
return INSERT(d,strlen(d),c);
}
char* POP_FRONT(char*d){
return ERASE(d,0);
}
char* POP_BACK(char*d){
return ERASE(d,strlen(d)-1);
}
char* MEMCPY(char*ta,char *sa,int size);
char* INSERT(char*d,int pos,char c){
MEMCPY(d+pos+1,d+pos,strlen(d+pos)+1);
d[pos]=c;
return d;
}
char* ERASE(char*d,int pos){
MEMCPY(d+pos,d+pos+1,strlen(d+pos+1)+1);
return d;
}
char* MEMCPY(char*ta,char *sa,int size){
if(ta<sa) for(char* p=sa,*q=ta;p<sa+size;p++,q++) *q=*p;
else for(char*p=sa+size-1,*q=ta+size-1;p>=sa;p--,q--) *q=*p;
return ta;
}
int main(){
cout<<"Input:";char d[1024];
int i;for(i=0,cin.read(&d[i],1); d[i]!='\r' && d[i]!='\n'; cin.read(&d[++i],1));d[i]=0;
cout<<endl<<d;
cout<<endl<<PUSH_FRONT(d,'A');
cout<<endl<<PUSH_BACK(d,'Z');
cout<<endl<<POP_FRONT(d);
cout<<endl<<POP_BACK(d);
return 0;
}
.....這三個根本是同一題
using namespace std;
char* INSERT(char*d,int pos,char c);
char* ERASE(char*d,int pos);
char* PUSH_FRONT(char*d,char c){
return INSERT(d,0,c);
}
char* PUSH_BACK(char*d,char c){
return INSERT(d,strlen(d),c);
}
char* POP_FRONT(char*d){
return ERASE(d,0);
}
char* POP_BACK(char*d){
return ERASE(d,strlen(d)-1);
}
char* MEMCPY(char*ta,char *sa,int size);
char* INSERT(char*d,int pos,char c){
MEMCPY(d+pos+1,d+pos,strlen(d+pos)+1);
d[pos]=c;
return d;
}
char* ERASE(char*d,int pos){
MEMCPY(d+pos,d+pos+1,strlen(d+pos+1)+1);
return d;
}
char* MEMCPY(char*ta,char *sa,int size){
if(ta<sa) for(char* p=sa,*q=ta;p<sa+size;p++,q++) *q=*p;
else for(char*p=sa+size-1,*q=ta+size-1;p>=sa;p--,q--) *q=*p;
return ta;
}
int main(){
cout<<"Input:";char d[1024];
int i;for(i=0,cin.read(&d[i],1); d[i]!='\r' && d[i]!='\n'; cin.read(&d[++i],1));d[i]=0;
cout<<endl<<d;
cout<<endl<<PUSH_FRONT(d,'A');
cout<<endl<<PUSH_BACK(d,'Z');
cout<<endl<<POP_FRONT(d);
cout<<endl<<POP_BACK(d);
return 0;
}
.....這三個根本是同一題
Warshall's Algorithm
#include<iostream>
using namespace std;
int main(){
bool w[100][100];
int n;
while(cin>>n){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>w[i][j];
}
}
int e;
cin>>e;
for(int z=0;z<e;z++){
cout<<"W"<<z<<endl;
for(int k=0;k<z;k++){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
w[i][j]=w[i][j] | w[i][k] & w[k][j];
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<w[i][j]<<" ";
}
cout<<endl;
}
}
}
}
演算法都給我了~誰要用手算啊~無聊
(是說改成作業用居然改了10分鐘我果然老了QAQ)
using namespace std;
int main(){
bool w[100][100];
int n;
while(cin>>n){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>w[i][j];
}
}
int e;
cin>>e;
for(int z=0;z<e;z++){
cout<<"W"<<z<<endl;
for(int k=0;k<z;k++){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
w[i][j]=w[i][j] | w[i][k] & w[k][j];
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<w[i][j]<<" ";
}
cout<<endl;
}
}
}
}
演算法都給我了~誰要用手算啊~無聊
(是說改成作業用居然改了10分鐘我果然老了QAQ)