uva-4.5-追蹤單元格-512
大意就是對**進行增添刪除列或者行的操作,尋找操作前和操作後某單元格的位置的變回,也就是追蹤單元格。
題目分析:
這個題我想的辦法是建立兩個一摸一樣的**,對每個單元格用數字進行標記,操作完成後查詢標記數字的位置就可以了。
對於每種操作,可以寫乙個函式來實現,注意題目中的增刪行列是整體增刪,比如散去第二行和第四行,不是在散去第二行後在新形成的**中刪去第四行,而是在舊**中刪去第二行和第四行。
這裡我想用陣列存下要刪去或者增加的行和列,注意要進行排序,然後運用關係式進行改變。
注意:一開始寫**的時候注意到了要排序,但是後來犯懶沒寫,導致wa了好多次
tat。
給出**:
#include
#include
#include
//int num[110][110];
void ex(int p[110][110],int
*m,int
*n)void dc(int p[110][110],int
*m,int
*n) }
for(k=0;kint a=num[k]-k;
//scanf("%d",&a);
//int i,j;
for(i=1;i<=*m;i++)
}*n=*n-1;
}}void dr(int p[110][110],int
*m,int
*n) }
for(k=0;kint a=num[k]-k;
for(i=1;i<=*n;i++)
}*m=*m-1;
}}void ic(int p[110][110],int
*m,int
*n) }
for(k=0;kint a=num[k]+k;
for(i=1;i<=*m;i++)
else}}
*n=*n+1;
}}void ir(int p[110][110],int
*m,int
*n) }
for(k=0;kint a=num[k]+k;
for(i=1;i<=*n;i++)
else}}
*m=*m+1;
}}int main()
int num;
scanf("%d",&num);
char comd[5];
while(num--)
else
else
else
else}}
}}
int n;
intx,y;
scanf("%d",&n);
printf("spreadsheet #%d\n",book1);
while(n--)
}if(mark)
break;
}if(mark)
printf("cell data in (%d,%d) moved to (%d,%d)\n",x,y,i,j);
else
printf("cell data in (%d,%d) gone\n",x,y);
mark=0;
}//printf("\n");
}return
0;}
追蹤公式引用的單元格
描述 公式引用很多單元格進行計算是經常的事,在檢查公式 審核結果時很容易因為公式引用的 過於複雜而造成麻煩,下面通過乙個例項為大家介紹下如何標記公式 引用到哪些單元格,或者間接引用了哪些單元格,大概步驟就是在a1單元格輸入100,a9輸入200,c2輸入公式 a1 50,回車,繼續在e5單元 格輸入...
labview 活動單元格 活動單元格屬性
短名稱 activecell 必需 基礎軟體包 類 多列列表框類的屬性 用途 建立屬性。設定活動單元格的行和列。名稱說明 行設定活動單元格的行。取值範圍為0至n,n為行數 1。輸入 2可選擇所有行。列設定活動單元格的列。取值範圍為0至m,m為列數 1。輸入 2可選擇所有列。輸入 1可選擇列首。下表為...
清空合併單元格之隱藏單元格
合併單元格有真有假,如果大家不知道二者的區別,請移步 excel合併單元格之真假李逵 先了解一下。識別兩種合併單元格的方法也很簡單,輔助列使用公式讀取一下單元格內容,如果合併單元格之隱藏單元格仍然有內容,那麼這就是貼上格式建立的合併單元格。接下來要講的合併單元格是用貼上格式產生的,如果希望清空d列中...