C ++图线

时间:2018-05-13 10:17:17

标签: c++ loops for-loop diagram

我知道如何解决它,但我不能这样做。

如果您输入import React from 'react'; import { Route, Link,withRouter } from 'react-router-dom'; import FourthView from "../fourthview/fourthview.component"; class ThirdView extends React.Component { constructor(props) { super(props); } componentDidMount() { } render() { console.log(this.props.match.params); return ( <div className={"boxDiv"}> <p>Third View</p> { console.log(this.props)} <h1>parameter passed: (#{this.props.params.number})</h1> </div> ); } } export default withRouter(ThirdView); ,则输出将为(。如果您输入/,则输出将为)

这意味着如果输入为:\,则输出必须为:()。我可以解决它,但如果输入有更多/\它必须像楼梯一样上升,但如果我有((((它必须像楼梯那样像金字塔一样。我有解决的想法。输入字符串并使用for和if替换并输出它。我输出正确的字符,但我不能得到“楼梯”输出。如果我输入))))。输出为(()),但必须像金字塔一样。

这是我的代码:

//\\

1 个答案:

答案 0 :(得分:-1)

不幸的是,没有办法在单个循环中实现这一点,因为您需要知道金字塔的高度(或输入字符串中的'()'的数量)。这是你如何做到的:

#include <iostream>
#include <algorithm>
#include <string>

int main() {

    std::string input;
    std::cin >> input;

    int height = std::count(input.begin(), input.end(), '(');

    for ( int i = 0; i < height; ++i )
        std::cout << std::string(height - i, ' ') << "/" << std::string(i * 2, ' ') << "\\\n";

    return 0;

}

当然,这只是向您展示如何打印金字塔的基础知识。您需要检查输入是否正确('('== number of')',匹配对'((()))'而不是'(())()'等等。