हमें समान लंबाई के तारों की एक सरणी दी गई है। लक्ष्य कॉलम, (मैट्रिक्सऑफ स्ट्रिंग्स) को खोजना है जो बढ़ते क्रम में क्रमबद्ध नहीं हैं। उदाहरण के लिए, स्ट्रिंग में प्रत्येक पहले वर्ण की तुलना अगले स्ट्रिंग के पहले वर्ण से की जाती है और इसी तरह अंतिम स्ट्रिंग तक। यदि वे बढ़ते क्रम में नहीं हैं, तो गिनती बढ़ाएँ। ऐसा सभी दूसरे वर्णों के लिए करें, फिर सभी तारों के तीसरे वर्णों के लिए और इसी तरह अंतिम वर्ण तक करें।
इनपुट
Arr[]= { “abc”, “bcd”, “def” }
आउटपुट
Count of columns: 0
स्पष्टीकरण - प्रत्येक कॉलम के लिए,
कॉलम 1:इंडेक्स 0 पर वर्ण:a
कॉलम 2:इंडेक्स 1 पर वर्ण:b
कॉलम 3:इंडेक्स 2 पर कैरेक्टर :c
कॉलम में सभी संगत वर्णों को बढ़ते क्रम में क्रमबद्ध किया गया है।
स्पष्टीकरण - प्रत्येक कॉलम के लिए,
कॉलम 1 - इंडेक्स 0 पर कैरेक्टर:d
कॉलम 2 - अनुक्रमणिका 1 पर वर्ण:b>a
कॉलम 3 - इंडेक्स 2 पर कैरेक्टर:d
कॉलम 1 और 2 में बिना किसी क्रम के वर्ण हैं। गणना=2
कैरेक्टर ऐरे arr[][] का उपयोग समान लंबाई के स्ट्रिंग्स को स्टोर करने के लिए किया जाता है।
फंक्शन काउंटकॉल्स (चार स्ट्र [3] [4], इंट एन, इंट लेन) एक स्ट्रिंग ऐरे लेता है, नहीं। इसमें स्ट्रिंग्स की संख्या और इनपुट के रूप में प्रत्येक स्ट्रिंग की लंबाई और उन स्तंभों की संख्या लौटाता है जो बढ़ते क्रम में नहीं हैं।
0 से गिनती शुरू करें।
Col का उपयोग वर्तमान कॉलम का प्रतिनिधित्व करने के लिए किया जाता है। (सभी स्ट्रिंग्स के लिए सामान्य अनुक्रमणिका)।
लूप के लिए स्ट्रिंग की लंबाई (सभी के लिए समान लंबाई) का उपयोग करके पहले इंडेक्स से शुरू होकर प्रत्येक स्ट्रिंग को एक साथ ट्रैवर्स करता है।
यहां प्रत्येक स्ट्रिंग 3 वर्णों की है इसलिए हम तुलना करते हैं str[col][j]>str[col+1][j-1] ||str[col+1][j]>str[col+2][j- 1]. अगर कोई शर्त सही है, तो गिनती बढ़ाएँ।
लूप के अंत के बाद गणना में मौजूद परिणाम लौटाएं।इनपुट
Arr[]= { “dbd”, “faf”, “eeg” }
आउटपुट
Count of columns: 2
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
उदाहरण
#include <bits/stdc++.h>
using namespace std;
int countCols(char str[3][4],int n,int len){
int i,j;
int count=0;
int col=0;
for(j=0;j<len;j++){
if(str[col][j]>str[col+1][j-1] || str[col+1][j]>str[col+2][j-1] )
count++;
}
return count;
}
int main(){
char arr[3][4]={"abc", "daf", "ghi"};
cout<<"\nColumns that are not sorted:"<<countCols(arr,3,3);
return 0;
}
आउटपुट
Columns that are not sorted:2