Computer >> Máy Tính >  >> Lập trình >> C ++

Chuyển đổi một chuỗi thành một lưới ma trận vuông gồm các ký tự trong C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình chuyển đổi một chuỗi thành một lưới ma trận vuông gồm các ký tự.

Đối với điều này, chúng tôi sẽ được cung cấp một chuỗi ký tự. Nhiệm vụ của chúng tôi là in chuỗi cụ thể đó ở định dạng lưới ma trận có một số hàng và cột nhất định.

Ví dụ

#include <bits/stdc++.h>
using namespace std;
//converting the string in grid format
void convert_grid(string str){
   int l = str.length();
   int k = 0, row, column;
   row = floor(sqrt(l));
   column = ceil(sqrt(l));
   if (row * column < l)
      row = column;
   char s[row][column];
   for (int i = 0; i < row; i++) {
      for (int j = 0; j < column; j++) {
         s[i][j] = str[k];
         k++;
      }
   }
   //printing the new grid
   for (int i = 0; i < row; i++) {
      for (int j = 0; j < column; j++) {
         if (s[i][j] == '\0')
            break;
         cout << s[i][j];
      }
      cout << endl;
   }
}
int main(){
   string str = "TUTORIALSPOINT";
   convert_grid(str);
   return 0;
}

Đầu ra

TUTO
RIAL
SPOI
NT