C++で最後のN行を印刷するプログラム
このチュートリアルでは、最後のN行を印刷するプログラムについて説明します。
このために、次の行の開始を示す改行文字と最後から印刷される行数で構成される文字列が提供されます。私たちのタスクは、最後から始めて、最後から数えてN行すべてを印刷することです。
例
#include <bits/stdc++.h> using namespace std; #define DELIM '\n' //printing the last N lines void print_last_lines(char *str, int n){ if (n <= 0) return; size_t cnt = 0; //storing the number of lines char *target_pos = NULL; //finding the initial position of last line target_pos = strrchr(str, DELIM); if (target_pos == NULL){ cout << "Given string is a single line string"; return; } //moving to the start position of the 1st line while (cnt < n){ //moving to the next lines while (str < target_pos && *target_pos != DELIM) --target_pos; if (*target_pos == DELIM) --target_pos, ++cnt; //if string has less than 10 lines the break else break; } if (str < target_pos) target_pos += 2; cout << target_pos << endl; } int main(void){ char *str1 ="str1\nstr2\nstr3\nstr4\nstr5\nstr6\nstr7\nstr8\nstr9” "\nstr10\nstr11\nstr12\nstr13\nstr14\nstr15\nstr16\nstr17" "\nstr18\nstr19\nstr20\nstr21\nstr22\nstr23\nstr24\nstr25"; print_last_lines(str1, 14); return 0; }
出力
str12 str13 str14 str15 str16 str17 str18 str19 str20 str21 str22 str23 str24 str25
-
C++での2本の線の交点のプログラム
線ABに対応する点AとB、および線PQに対応する点PとQが与えられます。タスクは、これら2つの線の交点を見つけることです。 注 −点はX座標とY座標の2D平面で与えられます。 ここで、A(a1、a2)、B(b1、b2)およびC(c1、c2)、D(d1、d2)は、2つの異なる線を形成している座標であり、P(p1、p2)は交点です。 (交点の図解のためだけに) 交点を見つける方法 − 上の図を-としましょう 例 したがって、(a1、a2)、(b1、b2)、(c1、c2)、(d1、d2)を使用して、:A1 =b2 --a2B1 =a1 --b1C1 =(A1 * a1)+( B1 *
-
ユーザーが入力した番号を印刷するC++プログラム
オブジェクト「cin」と「cout」は、C++でそれぞれ入力と出力に使用されます。 cinはistreamクラスのインスタンスであり、キーボードなどの標準入力デバイスに接続されています。 coutはostreamクラスのインスタンスであり、表示画面などの標準出力デバイスに接続されています。 ユーザーが入力した数字を印刷するプログラムは次のとおりです- 例 #include <iostream> using namespace std; int main() { int num; cout<<"Enter t