七、規則組織的衍生組織——菱形斜紋組織數學模型的建立

基礎概念公式推到可參考該專欄下的前幾篇博文。

菱形斜紋組織圖:在這里插入圖片描述在這里插入圖片描述

分析:首先3上2下2上1下,飛數為+1,右斜。kw=8表示從左下角開始往上數8格為緯峰所在位置;kj=8表示從左上角開始往右數8格為經峰所在位置。

在這里插入圖片描述
這樣就將菱形斜紋組織圖通過kw和kj分割為四部分,很明顯,Ⅰ、Ⅱ部分也就是經山形組織;

一、先求第一部分(也就是規則組織求法)

1,3上2下2上1下,fw=8,fj=8,確定矩陣的大小

在這里插入圖片描述

2,通過規則組織求法,求出第一部分

詳細解法步驟內容可參考此處
實現步驟:
1,對第一列賦值
2,對第2列到第kj列賦值,需要注意,這里通過(i+f)>N1判斷越界,通過a[i][j] = a[i+f-kw][j-1]越界賦值

核心代碼如下:

/*
對第一部分的第1列進行賦值
*/i=1;//先對第一列賦值,從第一列的第一行開始for(j=0;j<=m-1;j++){while(c[j]>0){a[N1-i+1][1]=1;//因為是分子,所有值都賦值為1c[j]--;i++;}while(d[j]>0){a[N1-i+1][1]=0;//因為是分母,所有值都賦值為0d[j]--;i++;}}
/*
對第一部分的2到kj列 進行賦值
*/for(j=2;j<=kj;j++){for(i=kw-1;i<=N1;i++){if((i+f)>N1) a[i][j] = a[i+f-kw][j-1];else a[i][j]=a[i+f][j-1];}}/*

效果圖如下:在這里插入圖片描述

二、求第二部分(第二部分與第一部分關于第kj根經紗完全對稱關系)

1,Ⅱ區中的任何一列都可以從Ⅰ區中對應
在這里插入圖片描述
例如:a[14][3]==a[14][13]、a[13][4]=a[13][12]
通過推導可得公式:在這里插入圖片描述
2,再分別對第kj+1列到第N2列進行對稱式賦值

核心代碼如下:

/*
對第二部分(kj+1列到N2列)進行賦值
*/for(j=kj+1;j<=N2;j++){for(i=N1;i>=N1-kw+1;i--){a[i][j]=a[i][2*kj-j];}}

效果圖如下:
在這里插入圖片描述

三、根據第一、第二部分與第三、第四部分對稱關系,求第三部分和第四部分

在這里插入圖片描述

觀察可知,第三部分和第四部分是關于kw與第一部分和第二部分對稱
在這里插入圖片描述
核心代碼如下:

/*
對第三部分和第四部分進行賦值
*/for(i=1;i<=N1-kw;i++){for(j=1;j<=N2;j++){a[i][j]=a[2*(N1-kw+1)-i][j];}}

效果圖如下:

在這里插入圖片描述

代碼如下:

該代碼僅適用于Kw==N1情況

#include <iostream>
#include<stdio.h>
using namespace std;int main()
{int i,j,N1,N2,f,m,kj,kw;//kj表示山峰的位置,從而確定出總列數N2int c[10],d[10],a[100][100]={0};printf("please input m:");scanf("%d",&m);for(i=0;i<=m-1;i++){printf("please input C[%d]:",i+1);scanf("%d",&c[i]);printf("please input D[%d]:",i+1);scanf("%d",&d[i]);}printf("please input kj:");scanf("%d",&kj);//輸入山峰位置,從而確定出總列數printf("please input kw:");scanf("%d",&kw);//輸入山峰位置,從而確定出總列數N1=2*kw-2;N2=2*kj-2;printf("please input f:");scanf("%d",&f);/*
對第一部分的第1列進行賦值
*/i=1;//先對第一列賦值,從第一列的第一行開始for(j=0;j<=m-1;j++){while(c[j]>0){a[N1-i+1][1]=1;//因為是分子,所有值都賦值為1c[j]--;i++;}while(d[j]>0){a[N1-i+1][1]=0;//因為是分母,所有值都賦值為0d[j]--;i++;}}/*
對第一部分的2到kj列 進行賦值
*/for(j=2;j<=kj;j++){for(i=kw-1;i<=N1;i++){if((i+f)>N1) a[i][j] = a[i+f-kw][j-1];else a[i][j]=a[i+f][j-1];}}/*
對第二部分(kj+1列到N2列)進行賦值
*/for(j=kj+1;j<=N2;j++){for(i=N1;i>=N1-kw+1;i--){a[i][j]=a[i][2*kj-j];}}/*
對第三部分和第四部分進行賦值
*/for(i=1;i<=N1-kw;i++){for(j=1;j<=N2;j++){a[i][j]=a[2*(N1-kw+1)-i][j];}}/*
輸出二維數組a[i][j]
*/for(i=1;i<=N1;i++){for(j=1;j<=N2;j++){printf("%5d",a[i][j]);}printf("\n");}getchar();return 0;
}

最終運行效果如下:

在這里插入圖片描述

補充:實際上菱形斜紋組織的Kw并不一定都等于組織循環數,至于大于或者小于組織循環數的按照Kw進行忽略不顯示。

例如:3上2下2上1下,右斜,飛數為1,Kw=5,Kj=5
此時組織循環數為3+2+2+1=8,小于Kw,如何處理?
實際上,當Kw小于組織循環數時,超過Kw的組織會被忽略但是不會消失,遇到頂部時仍會從下上來。
在這里插入圖片描述
灰色部分表示超過Kw的部分,會被忽略但是不會消失。
如上圖部分為第一部分,其余部分都可以根據對稱來進行求解,主要就是第一部分元素的確定

如何確定呢?
我的思路為:
主要就是第一部分的求解很重要,但是他會忽略超過Kw的區域,于是我想到了通過兩個二維數組進行求解,首先第一個二維數組專門用于求解第一部分的數值,直接通過輸入的組織循環數和飛數來獲取規則組織。
然后通過第二個二維數組截取通過Kw和Kj所確定出的第一部分的元素,之后第二個二維數組就存有第一部分的元素了,再通過對稱的方法求解出第二第三第四部分的元素即可。

優化后的代碼如下:

#include <iostream>
#include<stdio.h>
using namespace std;int main()
{int i,j,N1,N2,n1,n2,f,m,kj,kw;int c[10],d[10],a[100][100]={0},b[100][100]={0};printf("please input m:");scanf("%d",&m);for(i=0;i<=m-1;i++){printf("please input C[%d]:",i+1);scanf("%d",&c[i]);printf("please input D[%d]:",i+1);scanf("%d",&d[i]);}printf("please input kj:");scanf("%d",&kj);//輸入山峰位置printf("please input kw:");scanf("%d",&kw);//輸入山峰位置n1=2*kw-2;//n1和n2才是最終的二維數組大小n2=2*kj-2;N1=0;for(i=0;i<=m-1;i++){N1=N1+c[i]+d[i];}N2=N1;printf("please input f:");scanf("%d",&f);/*
對第一部分的第1列進行賦值
*/i=1;//先對第一列賦值,從第一列的第一行開始for(j=0;j<=m-1;j++){while(c[j]>0){a[N1-i+1][1]=1;//因為是分子,所有值都賦值為1c[j]--;i++;}while(d[j]>0){a[N1-i+1][1]=0;//因為是分母,所有值都賦值為0d[j]--;i++;}}
/*
對2到N1列 進行賦值
*/for(j=2;j<=N2;j++){for(i=1;i<=N1;i++){if((i+f)>N1) a[i][j] = a[i+f-N1][j-1];else a[i][j]=a[i+f][j-1];}}
/*
對第一部分結果的有效部分賦給數組b
*/for(i=0;i<kw;i++){for(j=0;j<kj;j++){b[kw-1+i][1+j]=a[N1-kw+1+i][1+j];}}//對第二部分(kj+1列到N2列)進行賦值for(j=kj+1;j<=n2;j++){for(i=n1;i>=n1-kw+1;i--){b[i][j]=b[i][2*kj-j];}}//對第三部分和第四部分進行賦值for(i=1;i<=n1-kw;i++){for(j=1;j<=n2;j++){b[i][j]=b[2*(n1-kw+1)-i][j];}}/*
輸出二維數組b[i][j]
*/for(i=1;i<=n1;i++){for(j=1;j<=n2;j++){printf("%5d",b[i][j]);}printf("\n");}getchar();return 0;
}

運行效果如下:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/378090.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378090.shtml
英文地址,請注明出處:http://en.pswp.cn/news/378090.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

顯卡測試軟件毛毛蟲,超龍超龍,與眾不同,頂流配備,散熱一流,3070Ti超龍旗艦版評測...

可能大家都沒想到此次顯卡荒會持續近一年&#xff0c;還是出現國家級干涉才將這股“歪風”剎住了。而且也僅僅算是剎住了大陸的速度&#xff0c;主要踩死剎車的應該就是黃大廚。他從5月初推出的新核心就采取了出廠即鎖算力的做法&#xff0c;但是即便如此&#xff0c;那些看著高…

poj 2513 Colored Sticks

// 判斷圖是否聯通 在連通的基礎上還要判斷是否存在歐拉通路// 判斷連通就并查集了 判斷是否存在歐拉通路&#xff1a; 點度數為數的點 1 >3就是不存在的 其它是存在的// 我開始用 map 判重 然后就悲劇了一上午 好久沒寫 Trie樹了 都忘了、#include <iostream> #in…

strictmath_Java StrictMath ulp()方法與示例

strictmathStrictMath類ulp()方法 (StrictMath Class ulp() method) Syntax: 句法&#xff1a; public static double ulp(double do);public static float ulp(float fl);ulp() Method is available in java.lang package. ulp()方法在java.lang包中可用。 ulp(double do) Me…

八、非規則組織分析及其數學模型——平紋變化組織

非規則組織顧名思義&#xff0c;無法通過一個數學模型來描述所有的非規則組織、對于每一個具體的非規則組織而言&#xff0c;其也有一定的規律性可循&#xff0c;即可通過分析每一個具體的非規則組織的組織點運動規律來建立相應的數學模型。 一、平紋變化組織 平紋變化組織即…

怎么看xp計算機是32位還是64位,教你查看XP系統的不同32位還是64位詳細的步驟

電腦中使用的不同的版本如果安裝一些大型的游戲的時候都是有技巧來實現的&#xff0c;那在XP電腦中想要知道的對于不同的32位還是64位的版本的文件操作的時候新手是怎么知道自己安裝的軟件的版本呢&#xff0c;今天小編就來跟大家分享一下教你查看XP系統的不同32位還是64位詳細…

微軟面試100題2010年版全部答案集錦(含下載地址)

微軟等數據結構算法面試100題全部答案集錦作者&#xff1a;July、阿財。時間&#xff1a;二零一一年十月十三日。引言無私分享造就開源的輝煌。今是二零一一年十月十三日&#xff0c;明日14日即是本人剛好開博一周年。在一周年之際&#xff0c;特此分享出微軟面試全部100題答案…

get post

1. get是從服務器上獲取數據&#xff0c;post是向服務器傳送數據。2. get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中&#xff0c;值和表單內各個字段一一對應&#xff0c;在URL中可以看到。post是通過HTTP post機制&#xff0c;將表單內各個字段與其內容放置在HTML …

LeetCode 27.移除元素 思考分析

題目 給你一個數組 nums 和一個值 val&#xff0c;你需要 原地 移除所有數值等于 val 的元素&#xff0c;并返回移除后數組的新長度。 不要使用額外的數組空間&#xff0c;你必須僅使用 O(1) 額外空間并 原地 修改輸入數組。 元素的順序可以改變。你不需要考慮數組中超出新長…

九、非規則組織分析及其數學模型——曲線斜紋組織

曲線斜紋組織圖&#xff1a; 因為其形狀酷似拋物線&#xff0c;拋物線又是曲線中的一種&#xff0c;故稱為曲線斜紋組織。 特點&#xff1a;1&#xff0c;每一根經紗上的組織點運動規律不變 2&#xff0c;飛數是變化的&#xff0c;故也稱為變飛數組織 飛數滿足的兩個條件&…

ulp通信_Java Math類ulp()方法及示例

ulp通信數學類ulp()方法 (Math class ulp() method) ulp() method is available in java.lang package. ulp()方法在java.lang包中可用。 ulp() method is used to return the size of a ulp of the given argument, where, a ulp of the given value is the positive distance…

計算機公式column,函數公式的左膀右臂:ROW、COLUMN函數知多少

一個公式生成乘法口訣表演示的公式中用到了兩個函數&#xff1a;ROW和COLUMN&#xff0c;這兩個函數的用途非常廣泛&#xff0c;可以配合其他函數實現很多功能(尤其是和VLOOKUP函數)&#xff0c;另外和這兩個函數相似的還有ROWS和COLUMNS函數&#xff0c;也順便介紹下。函數說明…

apache2.4.x三種MPM介紹

三種MPM介紹 Apache 2.X 支持插入式并行處理模塊&#xff0c;稱為多路處理模塊&#xff08;MPM&#xff09;。在編譯apache時必須選擇也只能選擇一個MPM&#xff0c;對類UNIX系統&#xff0c;…

LeetCode 15. 三數之和 思考分析(雙指針解)

目錄初解&#xff1a;未考慮去重二解&#xff1a;未考慮去重位置三解&#xff1a;AC題目&#xff1a;給你一個包含 n 個整數的數組 nums&#xff0c;判斷 nums 中是否存在三個元素 a&#xff0c;b&#xff0c;c &#xff0c;使得 a b c 0 &#xff1f;請你找出所有滿足條件且…

十、非規則組織分析及其數學模型——鋸齒形斜紋組織

鋸齒形斜紋組織圖&#xff1a; 分析&#xff1a; 前半齒長度k&#xff0c;表示山谷到山峰的列數&#xff0c;也就是鋸齒的寬度&#xff1b; 鋸齒飛數s&#xff0c;表示山峰到山峰的行數&#xff0c;也就是鋸齒的高度。 起始點相差4格&#xff0c;也就是第一部分整體向上移動…

Linq lamdba GroupJoin外連接示例

其實用from..Linq語句做外連接簡單而且便于理解&#xff0c;我個人使用lamdba純粹是技術上的追求吧 DataTable exceldtnew DataTable();DataTable nomacdtnew DataTable();exceldt exceldt.AsEnumerable().GroupJoin(nomacdt.AsEnumerable(), a > a.Field<String>(&q…

ajax為什么有時候不行,為什么不能用ajax調用

Ajax取值時出現未知的運行時錯誤的解決方法在Ajax里經常會通過innerHTML來改變界面&#xff0c;這個比使用DOM要簡單一些。比如&#xff1a;element.innerHTML "put code here"不過&#xff0c;在IE中&#xff0c;有時候會出現"未知的運行時錯誤(unknown runti…

Java Hashtable size()方法與示例

哈希表類size()方法 (Hashtable Class size() method) size() method is available in java.util package. size()方法在java.util包中可用。 size() method is used to return the number of key-value pairs that exist in this Hashtable. size()方法用于返回此哈希表中存在…

十一、非規則組織分析及其數學模型——蘆席斜紋組織

蘆席斜紋組織&#xff1a; 該組織是由左斜和右斜有機的結合在一塊的&#xff0c;因為其外觀酷似蘆席故稱之為蘆席斜紋組織。 織物組織效果&#xff1a; 所需參數&#xff1a; 其基層組織采用雙面加強型斜紋&#xff0c;即分子和分母是相同的組織點&#xff0c;例如2上2下(2個經…

LeetCode 18. 四數之和 思考分析(雙指針解)

目錄需要注意的幾點1、去除剪枝操作2、去重操作的細節code以及效果&#xff1a;題目給定一個包含 n 個整數的數組 nums 和一個目標值 target&#xff0c;判斷 nums 中是否存在四個元素 a&#xff0c;b&#xff0c;c 和 d &#xff0c;使得 a b c d 的值與 target 相等&#…

圖解DotNet框架之一:編譯與執行引擎(上)

眾所周知,DotNet框架是非常龐大的,光項目創建時的種類就有WPF,WCF,WF這三種最新的技術,還有以前的Web,WinForm,Service,Mobile等等. 這么復雜和龐大的框架,用文字來描述是遠遠不夠的,所以我準備寫一系列圖文并茂的文章,把我所知道的所有Net框架中的東西全部串聯起來,希望可以給…