回答数
気になる
-
char型の配列char a[3] = "ab";(ヌルも含めて)により3バイト([0]〜[2])の
char型の配列char a[3] = "ab";(ヌルも含めて)により3バイト([0]〜[2])のデータ 0x610x620000となり、 二進数にすると 01100001(0x61(a),1バイト), 01100010(0x62(b),1バイト)、後の48bit(6バイト)は0として 64bitのメモリに二進数として保存されるとして、 仮に2バイトずつ読み込むと 0110000101100010となり、ヘンテコな数字が表示されるように思えるし、 どうやって二進数から16進数にして文字にしてprintfなどでabと表示してくれるのだろうか?と疑問が湧きます。 やはり1バイトずつ読み込んでいるのでしょうか? (だとしても下に書いたint型のように12345の二進数 11000000111001も1バイトずつ読み込むと、多分12345にはならないと思うという謎がのこります。) また、 int a = 12345として12345の二進数11000000111001も1バイトずつ読み込むと、多分12345にはならないと思うのですが、どうやって12345と正しく表示しているのか知りたいです。 もう一つ、 あの、printfの演算子%sや%dで二進数0110001(1)を表示すると、どうなるのでしょうか? ただ、1と表示されるだけでしょうか?
質問日時: 2021/07/30 10:38 質問者: lolza
ベストアンサー
5
0
-
あの、64bitpcの1つのメモリは64bitですよね? だとしたら、文字aはint aは1バイトな
あの、64bitpcの1つのメモリは64bitですよね? だとしたら、文字aはint aは1バイトなので、 64bit中の1バイト(0x61)を使うのでしょうか? また、a,bとふた文字の場合は 64bit中の1バイト(0x61)を使い(残った7バイトは0となる)、その次の64bitメモリに64bit中の1バイト(0x62)を使うのでしょうか?
質問日時: 2021/07/29 18:57 質問者: lolza
ベストアンサー
9
0
-
#include <iostream> #include <string>int main() {
#include <iostream> #include <string>int main() { std::string str = "abcdef"; std::size_t i = 1; std::cout <<str[i] <<std::endl; std::cout <<&str[i] <<std::endl; return 0; } において、 std::cout <<&str[i] <<std::endl;の&str[i] はアドレスを扱うと思っていたのですが、Cでは&str[i] はアドレスを扱うのにC++では&str[i] はアドレスではなく文字や文字列を扱うのでしょうか? ちなみに、Cのように以下のプログラムのようにC++で一文字だけ扱うように書くにはどう書けばいいのでしょうか? char* p, * q; int ch; ch = *q; また、こちらのプログラムは実行してもエラーが起きるのですが、何が原因なのでしょうか? #include <iostream>#include <string>int main() { std::string str = "abcdef"; std::size_t i = 1; std::cout <<*(str + i) <<std::endl; std::cout <<(str + i) <<std::endl; std::cout <<&*(str + i) <<std::endl; return 0; } ちなみに、 std::cout <<*(str + i) <<std::endl; は文字列の先頭のアドレスを+1したメモリにある数値(文字コード)を文字として表示する。 std::cout <<(str + i) <<std::endl; は文字列の先頭のアドレスを+1したメモリのアドレスを表示する。 std::cout <<&*(str + i) <<std::endl; は文字列の先頭のアドレスを+1したメモリのアドレスを表示する。 だと思っているのですが、CとC++では同じ書き方でも扱い方が違うので自信はありません。違う場合は正しい答えを教えてください。
質問日時: 2021/07/29 17:16 質問者: lolza
ベストアンサー
3
0
-
#include <stdio.h> #include <string.h>int main(voi
#include <stdio.h> #include <string.h>int main(void) { char str[] = "str == NULL ? \"(NULL)\": str"; char* p, * q; int ch; p = str; for (;;) { for (q = p; !(*q == '?' || *q == ':' || *q == 0); q++); ch = *q; *q = 0; printf("|%s|\n", p); if (ch == 0) break; p = q + 1; } } において、 cahr型は文字や文字列、文字としての数字や数字の列を表す文字コードなどを数値として扱い、 char* pは文字や文字列や文字としての数字や数字の列の先頭のアドレスを数値として扱い、 *qは一つの文字や文字としての数字を文字コードなどを数値として扱う。そのため、整数などの値を扱うint型のchに数値として渡せるため ch = *q;と出来たのでしょうか? もう一つ、疑問があるのですが、なぜforの二周目以降のデバッグでのstr[]の中身はstr == NULLであるのに、一週目のstr[]の中身はstr == NULL ? \"(NULL)\": strであるかについてです。 過去にforの一週目のカッコの中身、すなわち(q = p; !(*q == '?' || *q == ':' || *q == 0); q++)のq++は働かないと聞きました。q++が働かなったためにqには0や値すらも入らないためp = q + 1;が動かず、一週目のstr[]の中身はstr == NULL ? \"(NULL)\": strなのかなと考えてみたのですが、正しいでしょうか。
質問日時: 2021/07/29 16:59 質問者: lolza
ベストアンサー
1
0
-
プログラミングです。 行列要素の数値の総和と平均値を計算する関数sum_aveを作成したいです。 カ
プログラミングです。 行列要素の数値の総和と平均値を計算する関数sum_aveを作成したいです。 カーソルを合わせている6行目と13行目に何が入るか分かりません。有識者の方に教えて欲しいです。 https://gyazo.com/fdf1cee53a23fd5322788517d689180a
質問日時: 2021/07/29 11:11 質問者: たまごろん
ベストアンサー
2
0
-
C#MVCフレームワークの学習課題を私に与えてください
C#MVCフレームワークを勉強しているのですが 勉強するにあたって制作物を作りたいのですが 何かいい題材ありますか 業務システムの仕事に役立つようなお題がいいのですが。
質問日時: 2021/07/29 06:28 質問者: 39OK
解決済
1
0
-
初心者のc言語
5人のデータ(氏名出身身長体重)をファイルから読み込み、身長の高い順にソートして別のファイルに出力するプログラムを作成せよ。というものです。c言語を習っているのですが全然付いていけてないので教えていただきたいです。読み込みdeta.txt,書き込みresult.txtです。
質問日時: 2021/07/28 23:30 質問者: 雨のち晴れサンサン
ベストアンサー
1
0
-
画像において、 少し疑問なのですが、 "321"[2]では、3は[0]、2は[1]、1は[2] との
画像において、 少し疑問なのですが、 "321"[2]では、3は[0]、2は[1]、1は[2] との事ですが、 なぜchar str[1] = "abc"では、aは[0] ではなく、aは[1]なのでしょうか? プログラムのchar str[ ]の[ ]に何も書いていないため、コンパイラが勝手に要素数3を[0]〜[2]としてしまったためでしょうか? どうかよろしくお願い致します。
質問日時: 2021/07/28 20:43 質問者: lolza
ベストアンサー
2
0
-
なぜ文字を扱うchar型の*qはint型のchに*qの中身の文字を代入出来るのですか? int型のc
なぜ文字を扱うchar型の*qはint型のchに*qの中身の文字を代入出来るのですか? int型のchに代入する事で文字、すなわち文字コードが代入する側の値を扱うint型により文字は文字コードを表す値になるため、画像のようにch=*qとおけたのでしょうか? 個人的には型が同じでないと代入できないため、なぜch=*qと書けたのかよくわかりません。
質問日時: 2021/07/28 18:39 質問者: lolza
ベストアンサー
5
0
-
char型の配列 char buff[20] = "abc "のように'や,で区切られていないcha
char型の配列 char buff[20] = "abc "のように'や,で区切られていないchar型の配列とは違い char buff[20] = { 'a', 'b', 'c', '\0' };①のような場合と char型へのポインタ配列 char *parr[3] = { "abc", "de", "hello" };② において なぜ、①、②は初期値を中括弧で囲む必要があるのでしょうか? また、逆に初期値に中括弧で囲む必要がないのはchar buff[20] = "abc "のようにまとまった文字列を扱う場合でしょうか? 最後にchar型のポインタ配列とは 1番目の文字列"abc"の先頭の文字aのアドレスがparr[0]に入り、2番目の文字列"de"の先頭の文字dのアドレスがparr[1]に入り."hello"の先頭の文字hのアドレスがparr[2]に入る解釈で正しいでしょうか? ちなみに、仮に正しい場合は64bitのpcな ら先頭の文字のアドレスは64bitであるため、アドレスの入るparr[0]、parr[1]、parr[2]のメモリはそれぞれ64bitなのでしょうか? どうかわかりやすく教えて下さい。
質問日時: 2021/07/28 15:06 質問者: lolza
ベストアンサー
3
0
-
C# での記述 もし●●=■■なら、plot( )
こんにちは、プログラム初心者ですが、C#を使う事が殆どありません。 なので表題の通りに実行するコードを教えて頂けませんか? やりたいのは、 もし、A=ABCなら plot( ) plot( ) みたいな感じです。 よろしくお願いします。
質問日時: 2021/07/26 11:50 質問者: gekikaraou
ベストアンサー
1
0
-
ベストアンサー
2
2
-
cnt <= (others => '0'); の意味教えて下さい
VHDL 2008のソースリストを読んでいるところですが、以下のプログラムの意味がわからないので教えて下さい。50MHzのクロックから1MHのクロックい分周する回路の一部です。 CLK_WIDTH は分周比50という値を示す5ビットの定数(?)です。 C言語なら理解できるので、C言語で書き直す(?)としたらどのようなコードに対応するのでしょうか? 具体的には、cnt <= (others => '0');で cnt にどんな値が代入されるのでしょう? なお、 <= はコンカレント代入文 := はシーケンシャル代入文 といった違いは理解しています。 よろしくお願いします process( S_AXI_ACLK ) is begin if (rising_edge (S_AXI_ACLK)) then if ( S_AXI_ARESETN = '0' ) then cnt <= (others => '0'); div <= (others => '0'); else if ( div = CLK_WIDTH ) then div <= (others => '0'); cnt <= cnt + 1; else div <= div + 1; end if;
質問日時: 2021/07/25 14:40 質問者: iruiru298
ベストアンサー
2
0
-
C#とC++のざっくりとした違いを教えて下さい。 僕はしばらくC#を使っていて、夏休みに入った今にC
C#とC++のざっくりとした違いを教えて下さい。 僕はしばらくC#を使っていて、夏休みに入った今にC++も学ぼうと思っているのですが、気をつけるべきところはありますか?
質問日時: 2021/07/24 23:18 質問者: おまえ
解決済
6
0
-
C#初心者です。 ポッポが、飴と現在のポッポの数から何体、進化できるか計算、最後に進化した数、飴のあ
C#初心者です。 ポッポが、飴と現在のポッポの数から何体、進化できるか計算、最後に進化した数、飴のあまり、ポッポのあまりを出す。 ・飴の数とポッポの数を入力 ・ポッポは飴が12個で一体、進化できる ・ポッポは、博士に送ることで飴が一個、手に入る。 ・ポッポから進化したピジョンも、博士に送ると飴が一個、手に入る。 Console.WriteLine("ポッポの数"); int POP = int.Parse(Console.ReadLine()); Console.WriteLine("アメの数"); int Candy = int.Parse(Console.ReadLine()); int Pigeon = 0; int POPCandy = 12; int nPigeon = 0; こんな感じで進めていけばいいのかと思っていたのですが、 わからなくなってしまったので教えてください。 よろしくお願いします。
質問日時: 2021/07/21 15:13 質問者: 1-_-1
解決済
2
0
-
C#の質問
学校から出されたC#の問題なのですが基本仕様の中身が理解できないです。 ↓基本仕様 ポケモンGoのポッポが、飴と現在のポッポの数から何体、進化できるか計算、最後に進化した数(その後、飴になっていても)、飴のあまり、ポッポのあまりを出す。 ・飴の数とポッポの数を入力します ・ポッポは飴が12個で一体、進化できます ・ポッポは、博士に送ることで飴が一個、手に入ります ・ポッポから進化したピジョンも、博士に送ると飴が一個、手に入ります 何をどう組めばいいか分からないですし、どういう計算式にすればいいのかすら分からないです。 先生からヒントを訊いても教えてくれないので分かりやすいヒントを教えてください。
質問日時: 2021/07/21 09:56 質問者: 鎌田氏
ベストアンサー
4
0
-
C言語の課題です
以下はxのべき乗でn桁以下の最大数を求めるプログラムですが、このプログラムを修正してxのべき乗でn桁を超える最小数を求めるプログラムを作りたいと思っています。どのように修正すべきかお教えください。 (xのべき乗でn桁以下の最大数を求めるプログラム) #include <stdio.h> #include <string.h> int main() { int x,n; scanf("%d %d",&x,&n); int m[n+ 1],prev[n+ 1]; m[0] = 1; for (int i = 1;i <= n;i++) { m[i] = 0; } for (int i = 0;m[n] == 0;) { int cary = 0; memcpy(prev,m,sizeof(int) * (n + 1)); for (int j = 0;j <= i;j++) { m[j] = cary + prev[j] * x; cary = m[j] / 10; m[j] %= 10; } if (cary != 0) { m[++i] = cary; } } for (int i = n- 1;i >= 0;i--) { printf("%d",prev[i]); } printf("\n"); return 0; }
質問日時: 2021/07/19 14:18 質問者: akirakun1955
ベストアンサー
1
0
-
暗号の桁数について
よく、暗号とかに桁数が長くて驚きますがC言語のunsigned long long型でも20桁くらいです。C言語でどのようにして桁数を伸ばしているのでしょうか?
質問日時: 2021/07/17 17:44 質問者: ware255
ベストアンサー
4
0
-
Javaの問題について
初心者です。初歩の時点で躓いてます。 ・2つの整数型変数に数値を入力後、複合演算子を用いて積を求め、表示する ・1つ目の数値の入力を促すメッセージを表示後、入力を行う ・2つ目の数値の入力を促すメッセージを表示後、入力を行う ・1つ目の値と2つ目の値の積を、複合演算子を用いて1つ目の変数に求める ・求めた値を表示する 出来ればコードと解説お願いしたいです(o*。_。)oペコッ
質問日時: 2021/07/17 02:35 質問者: ぬえ_
ベストアンサー
1
0
-
C言語の長桁の引き算のプログラムを作りたいのですが、お教えください
C言語で長桁計算の足し算のプログラムを作成しました。このプログラムを改変して引き算のプログラムを作りたいと思っています。引き算のプログラムを作るためにはどのように変更すべきかお教えください。 (足し算のプログラム) 100桁以下の2つの整数値を入力すると,それらの和を計算して出力するプログラム 2つの整数値の和を計算するアルゴリズム(大きい方の整数値が
質問日時: 2021/07/16 20:36 質問者: akirakun1955
ベストアンサー
3
0
-
解決済
3
0
-
Pythonの質問です。 input関数で入力させた数値を配列として 散布図を書くことはできますか?
Pythonの質問です。 input関数で入力させた数値を配列として 散布図を書くことはできますか? やってみたのですがエラーになってしまってわかりません。 例えばa=input(数値) b=input (数値) list=[a,b]みたいな書き方は合ってないってことなんですか?
質問日時: 2021/07/14 02:50 質問者: あまむつgj
ベストアンサー
1
0
-
Arduinoと74HC595と7セグLEDで回路を作るも・・・
画像に示した回路が時々ショートする理由が全く理解出来ません。抵抗も全て1kΩでそれなりに大きいはずなのに。それに、そのショートのせいか、7セグLEDに表示される文字も明らかに変です。 何故ショートするのか、回路のどこがおかしくてそうなるのか等、アドバイスをお願いします。 ※プログラムは次の文献のものを使用し、回路に合わせて#difineのピン番号を一部変更しました。 https://qiita.com/taiyyytai/items/6bc81144f46852783a76
質問日時: 2021/07/13 21:30 質問者: fruit_punch
解決済
1
0
-
C言語の課題です
ボート屋の集計 下記のボート屋からの依頼事項に従って,毎日のボートの貸出状況を集計するプログラムを作成してください. 【依頼事項】 •ボートは5隻所有している(A,B,C,D,E) •営業時間は09:00~18:00である •ボートの貸出・返却時に,以下を記録している ボート名,貸出/返却,時刻(10分単位) これらの情報から,1日分の記録として,その日の貸出時間の総計を算出したい. コマンドラインにboat.txtと入力すると、6:45 と出力される。 このプログラムを参考に次のように各ボート個別の貸出時間、総貸出時間を出力するプログラムを作成したい。 お教えいただきたくお願いします。 出力 A 2:40 C 1:55 D 2:10 6:45 1日分の記録の内容 boat.txt A O 09:10 C O 09:25 A I 09:50 C I 10:05 D O 10:15 D I 10:55 A O 11:30 C O 12:00 A I 12:45 C I 13:15 D O 13:20 A O 13:30 D I 14:05 A I 14:15 D O 14:55 D I 15:40 #include <stdio.h> #define LINESIZE 256 int main(int argc, char *argv[]){ FILE *fp; char line[LINESIZE]; char b, io; int h, m, tm; //エラー処理 if ((fp= fopen(argv[1], "r")) == NULL) { printf("Can't open the file.\n"); return 1; } tm = 0; for(; fgets(line, LINESIZE, fp)!=NULL;){ // ボートの貸出/返却時間の処理 sscanf(line, "%c %c %d:%d", &b, &io, &h, &m); switch(io){ case 'I': tm += 60*h+m; break; case 'O': tm -= 60*h+m; break; } } printf("%d:%02d\n", tm/60, tm%60); fclose(fp); return 0; }
質問日時: 2021/07/13 21:12 質問者: akirakun1955
ベストアンサー
2
0
-
C言語の課題です
以下のように2以上の整数値 n (2≦n≦10,000)を入力すると,n 以下の素数の個数と最大の素数を求め,これらを出力するプログラムを作成しました。 これを修正して正の偶数値 n(2≦n≦10,000)を入力すると,足して n になる素数の組の数を求め,出力するプログラムを作りたいと思います。 どのように修正したらよいかお教えください。 #include <stdio.h> //2から入力した整数値nまでの数値を入れる配列 //配列の中をすべて0にするよう初期化 int a[10001] = {0}; //素数かどうかを判断し、素数の個数を数える関数 int sieve(int n) { int i, j; //2からnまでの整数を並べる for (i = 2; i <= n; i++) { if (a[i] == 1) continue; for (j = 2; j <= (n / i); j++) a[i * j] = 1; } //素数の個数を調べる i = 0; for (j = 2; j <= n; j++) { if (!a[j]) a[i++] = j; } return i; } int main(int argc, char *argv[]){ int n; int size; printf(“整数値は?:”); scanf("%d", &n); //nまでの素数の個数をsizeに代入 size = sieve(n); //n 以下の素数の個数を出力 printf("%d\n",size); //素数の配列の最後の数値(n 以下の最大の素数) printf("%d\n",a[size-1]); return 0; } sieve関数に呼び込んだ後はaに素数が貯まっているのでmainでn以下の素数について足してnになる素数の組を調べるプログラムはどのように作成したらよいのでしょうか。
質問日時: 2021/07/13 21:06 質問者: akirakun1955
ベストアンサー
1
0
-
C++についての質問です
visualstudio2019を使ってC++で 「コンソールモデルで次の問題を解く 予定時刻を(日、時、分)で入れて、現在時刻との差を 求め、経過時間を計算する。 ―>「あと2日と3時間6分」など」 という問題が出たのですがわかる人いたらお願いします。
質問日時: 2021/07/13 18:06 質問者: hirotsu91v659
解決済
2
0
-
解決済
1
0
-
C++で入力した文字列から数字を取り除くもしくは数字のみをのこす
C++で入力した文字列から数字を取り除くもしくは数字のみをのこすプログラムを作成する。わかる人いたら教えてください
質問日時: 2021/07/13 14:19 質問者: hirotsu91v659
解決済
4
0
-
#include <stdio.h> int main(void) { char str[] = "
#include <stdio.h> int main(void) { char str[] = "abcde"; for (char* p = str; *p; ++p) { ++(*p); printf("%s\n", &(*p)); } } において、char* p = str;の部分は「strの文字列の文字の先頭のアドレスの番号(例えば7005)をポインタpが適当に確保した他のアドレスのメモリにアドレスの番号7005が収納される」という解釈で良いですか?
質問日時: 2021/07/12 21:26 質問者: lolza
ベストアンサー
3
0
-
この二つの問題を教えて欲しいです。 次の数列をヒープに格納した際、10はどの節点に格納されますか?ま
この二つの問題を教えて欲しいです。 次の数列をヒープに格納した際、10はどの節点に格納されますか?また計算過程を教えて欲しいです。 数列:{20,17,18,16,9,5,7,10,13,8} 次の数列をハッシュ法を用いて配列番号0〜23に格納する。27はどこに格納されるか 数列:{5,12,7,27,11,17,3,28,10,14,8,20,25,15,23,39) ハッシュ関数:h(x)=x%24(xを24で割った余りを求める)
質問日時: 2021/07/11 19:28 質問者: ヒロブラ
ベストアンサー
2
0
-
c言語 ボタン入力のプログラムについて
入力があったときにカウントを増やし2秒以内に再度入力があればカウントを増やしていくのを繰り返し、 2秒間入力がなければ終了するプログラムを作りたいのですが当方素人すぎて全くわかりません。よろしくお願いします
質問日時: 2021/07/11 19:21 質問者: はやはやはやはや
解決済
1
0
-
C言語
#include <stdio.h> #define NUM_CHARS 9 #define KINDS_NUMBERS 26 #define MAX_CHANCES 6 int main(void){ char input; /*** inputはユーザ入力***/ /***correctは正解.ここで具体的な正解も設定する***/ /***ここに何か書く***/ char yomisute; /*** 読み捨て用 ***/ int i; /*** iはループを回すため*/ int hits=0; /*** 正答回数,0に設定 ***/ /*** currentは解答状況表示用,後で%sを用いて表示する ***/ /***ここに何か書く***/ int mistakes=0; /*** ミスを数えるため ***/ int prev_hits; /*** 不正解判定のために、前の正解回数を記憶 ***/ int already[KINDS_NUMBERS]; /*** 既にタイプしたことのある数を扱う ***/ /***解答状況表示用配列の各要素を'?'に設定 ***/ /***ただし,後で%sを用いて表示できるようにする***/ /***ここに何か書く***/ /*** 配列alreadyの全要素を0に設定 ***/ for(i=0;i<KINDS_NUMBERS;i++){ already[i]=0; } while(1){ printf("Word: "); /*** 解の表示 ***/ /*** NUM_CHARS個の正解がまだ当てられていない場合には ***/ /*** currentの全要素が'?'になっている。***/ /*** そうでなければ(当てられていれば)、***/ /*** 正解と同じ文字になっている。***/ /*** %sを用いてcurrentを表示する ***/ /***ここに何か書く***/ printf("Your chances: %d\n", MAX_CHANCES-mistakes);/*** 残されたチャンス数の表示 ***/ printf("Already typed keys:");/*** 既にタイプした文字を表示 ***/ /*** ループ中で配列alreadyの要素を適切に書き換えてあるので ***/ /*** 配列alreadyの要素が1のときにその添字に対応する文字を表示すれば良い ***/ for(i=0;i<KINDS_NUMBERS;i++){ if(already[i]==1){ printf("%c, ",i+'a'); } } printf("\n"); printf("Guess a word by %d characters from a to z.: ", NUM_CHARS); /*** 設問表示 ***/ scanf("%c", &input); /*** ユーザ入力 ***/ scanf("%c", &yomisute); /*** 読み捨て ***/ printf("\n"); if(already[input-'a']==1){ printf("Character you typed had already typed.\n"); } else{ already[input-'a']=1; prev_hits=hits; for(i=0;i<NUM_CHARS;i++){ if(input==correct[i]){ current[i]=correct[i]; hits++; } } if(prev_hits==hits){ mistakes++; } if(hits==NUM_CHARS){ printf("Bingo!\n"); break; } if(mistakes==MAX_CHANCES){ printf("Sorry, the correct word is "); printf("\n"); break; } } } return 0; } 上のプログラムにおいて、「input-'a'」とはどのような意味ですか?ご教授ください。
質問日時: 2021/07/11 14:34 質問者: まぐろ-。
ベストアンサー
2
0
-
C言語(プログラミング)関連の質問です。 3×3の行列の和を求めるプログラムを教えて下さい。
C言語(プログラミング)関連の質問です。 3×3の行列の和を求めるプログラムを教えて下さい。
質問日時: 2021/07/10 15:02 質問者: AAA4040
解決済
3
0
-
C言語(プログラミング)の質問です。次のプログラムを教えて下さい。 3×3の行列の逆行列を求めるプロ
C言語(プログラミング)の質問です。次のプログラムを教えて下さい。 3×3の行列の逆行列を求めるプログラム
質問日時: 2021/07/10 14:53 質問者: AAA4040
解決済
1
0
-
#include <stdio.h> int main(void) { char str[] = "
#include <stdio.h> int main(void) { char str[] = "abcde" ; for (char* p = str; *p; ++p) { ++(*p); printf("%s\n", &(*p)); } } のプログラムが以下のような結果になる過程の処理を図など用いてどうか教えて頂けないでしょうか? bbcde ccde dde ee f
質問日時: 2021/07/08 10:42 質問者: lolza
解決済
3
0
-
#include<stdio.h> int main(int agrc char** argv) {
#include<stdio.h> int main(int agrc char** argv) { int i; for(i = 1; i <5 :i++){ printf("%d ", i); } printf("¥n"); return 0; }
質問日時: 2021/07/07 16:14 質問者: あらまな
ベストアンサー
1
1
-
ベストアンサー
1
1
-
originをを開こうとしたところ『VCRUNTME.140dllが見つからないため、コードの実行を
originをを開こうとしたところ『VCRUNTME.140dllが見つからないため、コードの実行を続行できません。』と出てきます。色々調べてVisual Studio C++2015と言うものをダウンロードしたのですがやはり同じシステムエラーが出ます。なにか対処法などありましたら教えてください。
質問日時: 2021/07/07 14:07 質問者: おかゆ0141
ベストアンサー
1
0
-
グローバル変数について
別フォルダにあるファイル内の変数を参照したい場合、どうグローバル変数宣言すれば良いでしょうか? 【例】 abcフォルダ tmp1.cファイル 別フォルダにあるファイル内の変数を参照したい場合、どうグローバル変数宣言すれば良いでしょうか? 【例】 abcフォルダ tmp1.cファイル efgフォルダ tmp2.cファイル ⇨このファイルに記載した変数をtmp1.cファイルでも参照したい
質問日時: 2021/07/04 14:27 質問者: およぐさん
解決済
6
0
-
このソートアルゴリズムの名称がわかる方いますか?
以下のプログラムで書かれたソートプログラムの名前がわかりません。 [ア]にはsizeof x / sizeof x[0];が入ると思います。 また、このアルゴリズムの平均時間計算量も教えてください。
質問日時: 2021/07/03 10:20 質問者: だいこううう
解決済
4
0
-
C#の質問
私の知識では形にならなかったのでどなたか助けてください。 基本仕様 1:テトリミノの順番を20周分作成、表示する (できるだけ同じ順番がでないようにする) 2:テトリスのテトリミノは、ランダム化された規則で出現する 3:テトリミノはアルファベットでI,O,T,J,L,S,Zの7種類ある 4:7つがランダムで流れ、7つ流れた後は、まだランダムな7つが流れてくる 例:1週目:TJIOZLS 2週目:ZOITSTL 3週目:IZLSJTO コードのヒント char[] tetrimino = { 'I', 'O', 'S', 'Z', 'J', 'L', 'T' }; Console.WriteLine(tetrimino); ↑どこで使えばいいかも分からないです。
質問日時: 2021/07/01 15:23 質問者: 鎌田氏
ベストアンサー
3
0
-
C#のクラスと継承が理解できません。
面積が不明な(ramdomで縦横半径を出す)長方形、正方形、円形をそれぞれ10個づつ生成して、それを面積の大きい順に表示したいです。 出力例: 長方形,80.0 円形,75.3 長方形,70.0 正方形,65.0 円形,55.8 正方形,45.0 ・ ・ ・ 3つの面積分のクラスが必要で、それを継承するとは教えられましたが、いまいちピンときません。 調べてみてもShapeクラスなど聞いたことがないものもでてきて訳が分かりません…。どなたか詳しい方、教えていただけると助かります。
質問日時: 2021/06/30 16:39 質問者: シオラ
ベストアンサー
4
0
-
C言語において論理演算プログラムの作成
以下のプログラムは(A|B)&(A|B|C)&(B|C)→(B)|(A&C)というような論理演算ができるのですが、アルファベット大文字の26文字限定です。大文字と小文字を別のものと区別して52文字判別するにはどこを変更すれば良いでしょうか。getExp内のelse if('A' <= *c && *c <= 'Z')をif('A' <= *c && *c <= 'z')のようにしても上手くいきませんでした #include <stdio.h> #define BUFSIZE_STR 1024 //バッファ(適当なサイズ) #define BUFSIZE_EXP 1024 //バッファ(適当なサイズ) #define BUFSIZE_ANS 1024 //バッファ(適当なサイズ) char str[BUFSIZE_STR]; //入力された数式を格納 long exp[BUFSIZE_EXP]; //ビット配列化した数式を格納 long ans[BUFSIZE_ANS]; //ビット配列化した答えを格納 int expCount = 0; //ビット配列化した数式の数 int ansCount = 0; //ビット配列化した答えの数 int maxAlpha = 0; //使用されているアルファベットの最大 void getExp(void); int checkExp(long x); int addAnswer(long x); void printAnswer(void); void main(void) { long x; getExp(); for(x = 1; x < (1<<maxAlpha); x++) if(checkExp(x)) if(addAnswer(x)) return; printAnswer(); } //標準入力から数式を入力しビット配列化する void getExp(void) { int i, j, flg; char *c; puts("数式を入力して下さい 例 (A|B)&(A|C)"); fgets(str,BUFSIZE_STR,stdin); for(c = str, flg = 0; *c != '\0'; c++){ if(!flg) exp[expCount] = 0; if(*c == '&' && flg){ expCount++; flg = 0; }else if('A' <= *c && *c <= 'Z'){ if((*c - 'A' + 1) > maxAlpha) maxAlpha = *c - 'A' + 1; exp[expCount] |= (1 << (int)(*c - 'A')); flg = 1; } } if(flg) expCount++; } //数式を評価する int checkExp(long x) { int i; for(i = 0; i < expCount; i++) if(!(exp[i] & x)) return 0; return 1; } //吸収則で不要な答えを排除しながら、答えを登録 int addAnswer(long x) { int i; for(i = 0; i < ansCount; i++){ if((ans[i] & x) == ans[i]) return 0; //吸収則により排除 if((ans[i] & x) == x){ ans[i] = x; return 0; } //吸収則により排除 } //答えの登録 ans[ansCount++] = x; if(ansCount >= BUFSIZE_ANS){ puts("バッファが足りません。"); return -1; } return 0; } //ビット配列化されている答えを、アルファベットで表示 void printAnswer(void) { int i, j, flg; for(j = 0; j < ansCount; j++){ putchar('('); for(i = 0, flg = 0; i < maxAlpha; i++){ if(ans[j] & (1 << i)){ if(flg) putchar('&'); putchar('A'+i); flg = 1; } } putchar(')'); if(j < ansCount -1) putchar('|'); } putchar('\n'); }
質問日時: 2021/06/29 17:40 質問者: fea0210
解決済
10
0
-
c言語
キーボードから空白類を含まない(長さが32未満の)文字列を1つ入力すると、同じ文字が部分的に連続するときに1文字ずつに詰めていくプログラムを作成せよ。例)aabbbfffuuと入力→abfuとなる。 解答は下記のように書かれていたのですが、prevとは何を意味していて、またなんの略なんでしょうか。わからないので教えてほしいです。 #include <stdio.h> int main(void) { char str[32], prev ; int i, j ; printf("Input a string (<32): ") ; scanf("%31s", str) ; j = 0 ; prev = '\0' ; for (i = 0 ; str[i] != '\0' ; i++) { if (str[i] == prev) { continue ; } str[j] = str[i] ; j++ ; prev = str[i] ; } str[j] = '\0' ; printf("newstr: %s\n", str) ; return 0 ; }
質問日時: 2021/06/28 18:45 質問者: aa..
解決済
4
0
-
C言語4
次のプログラムを書き換えて文字列aと文字列bが結合された文字列pを設定して画面表示するにはどのようにすればいいでしょうか? #include<stdio.h> #include<stdlib.h> int main(void){ char *a="Hello"; char *b=" World!"; char *p; /***必要な変数を宣言***/ printf("Original string:%s\n", a); printf("another string:%s\n", b); /***aの文字数計算***/ /***bの文字数計算***/ /***(a+b+1)文字分の領域を確保して先頭アドレスをpに代入***/ /***pにaをコピー***/ /***pにbを追加***/ /***pに終端文字を追加***/ printf("Concatenated string:%s\n", p); free(p);/***pを解放***/ return 0; }
質問日時: 2021/06/27 19:14 質問者: かか。。。
ベストアンサー
1
0
-
C言語3
配列bの代わりに,必要最低限の領域を確保して、確保した領域cに文字列をコピーする。 また、"Hello World!"とは文字数の異なる文字列に対しても動作するように、 下のコードを書き換えるにはどのようにすればいいのでしょうか? #include<stdio.h> int main(void){ char *a="Hello World!"; char b[20]; int i; printf("Original string:\"%s\"\n", a); for(i=0;a[i]!='\0';i++){ b[i]=a[i]; } b[i]='\0'; printf("Copied char array:\"%s\"\n", b); return 0; }
質問日時: 2021/06/27 19:13 質問者: かか。。。
ベストアンサー
2
0
-
C言語2
#include<stdio.h> #include<stdlib.h> int main(void){ int *pseudo_array; int number, i; printf("Input a positive integer:"); scanf("%d", &number); pseudo_array=malloc(number*sizeof(int)); if(pseudo_array==NULL){ printf("Out of Memory\n"); exit(1); } for(i=0;i<number;i++){ printf("Input an integer for %d-th element:", i); scanf("%d", &pseudo_array[i]); } printf("Set integers are\n"); for(i=0;i<number;i++){ printf("%d\n", pseudo_array[i]); } free(pseudo_array); return 0; } 上のプログラムを、「char型を要素に持つ配列のようなもの」を扱うようにし、実行後に入力した文字列を%sで表示できるようにするにはどのようにコードを書き換えれば良いのでしょうか?下のコードは雛形です。 #include<stdio.h> #include<stdlib.h> int main(void){ /***何か書く(適切な型)***/ *pseudo_array; char yomisute;/***読み捨て用***/ int number, i; printf("Input a positive integer:"); scanf("%d", &number); scanf("%c", &yomisute);/***改行文字読み捨て***/ /*** 何か書く(領域確保と失敗時の処理) ***/ for(i=0;i<number;i++){ printf("Input a character for %d-th element:", i); /***何か書く(キーボード入力文字を格納)***/ scanf("%c", &yomisute);/***改行文字読み捨て***/ } /***何か書く***/ printf("Set string are %s\n", pseudo_array); /***何か書く(領域解放)***/ return 0; }
質問日時: 2021/06/27 19:11 質問者: かか。。。
ベストアンサー
1
0
-
C言語
50行100 列からなるデータdat_1 がある 各列のデータの変化を確認するため図に表すこととした。 1枚の図に5列ずつ重ね書きをして、10枚の図を作成するプログラムを教えていただけませんか?
質問日時: 2021/06/27 00:16 質問者: Tatusukin
ベストアンサー
1
0
-
c言語
c言語の問題を教えてください。キーボードから文字列を入力し、その長さを表示するプログラムを作成せよ(strlen関数は使ってはいけない)というものです。自分は下記のように書いたのですがこれを実行すると入力する間もなく"文字列の長さは0"と表示されてしまします。どこをどう直せばいいのか教えていただきたいです。 #include<stdio.h> int main(void){ char string[100]; int i ; for(i=0;string[i]!='\0';i++){ scanf("%c",&string[i]); } printf("文字列の長さは%d\n",i); return 0; }
質問日時: 2021/06/26 12:14 質問者: aa..
解決済
6
0
-
c言語 配列
c言語の問題を教えて欲しいです。double 型配列 a[] にキーボードから 1 つずつ実数を入力し、その値が 0 以上 5 以下のときにはそれまでに入力した値の平均を表示し、入力値が実数でないか、0 未満である か、5 より大きければ、いままでのデータをすべて表示して終了するプログラムを作成せよ。ただし、実 数の入力数は 100 回以下とする。という問題です。自分は下記のように書いたのですがうまく実行できません。どこが違うのか教えて欲しいです。 #include<stdio.h> int main(void){ double a[]; int i,count,push; count=0; push=0; while(push<=100){ printf("number="); scanf("%lf",&a[i]); count++; push++; if(i>=0&&i<=5){ printf("Ave=%lf\n",a[i]/count); }else{ printf("%lf",a[]); break; } } return 0; }
質問日時: 2021/06/26 10:41 質問者: aa..
解決済
2
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【C言語・C++・C#】に関するコラム/記事
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
生活していく上で、多種多様な選択肢のある現代。「環境」が人生に与える影響は少なくないというが、実際どれほどのものなのか。「教えて!goo」 にも、「子育ては田舎と都会、どちらがよいでしょうか」と、子育てと...
-
メダロット:第243話「Vol.243※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
SNSでの誹謗中傷はなぜなくならない?自分で自分を守るための利用方法とは!
今や世の中は「SNS全盛時代」といっても過言ではない。さまざまな情報を得られる半面、誹謗中傷などの不適切な投稿が人の心を傷つけるケースも少なくない。諸刃の剣ともいえるSNSだが、「教えて!goo」 には「ネット...
-
賃貸を退去する際の通常損耗の回復費用は誰が負担?契約時に注意すべき点は?
「退去時における消耗箇所の回復費用を誰が負担するか」というのは、賃貸物件のよくあるトラブルであるが、そもそも通常消耗・経年劣化・特別消耗の意味がそれぞれ異なることはあまり知られていない。 ・通常消耗・...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルで以下のようなもの...
-
だれがとけるの?
-
C言語 1から20までの逆数の和を求め...
-
C#,vb.netで業務用アプリ開発とかあ...
-
大量のデータを読み込んで表示する...
-
win10で、正確な待ち時間の作り方
-
スタックフレームの消滅
-
c言語
-
VisualStudioでC++クラスを追加する...
-
PC画面を録画するプログラムでdllの...
-
ディスプレイの解像度とマウスの位...
-
Windows Formアプリからコンソール...
-
Cのdoubleの浮動小数点表示について
-
UnityInputSystemによるtouch入力で...
-
応用情報技術者試験の令和元年秋、...
-
インクリメント演算子のみを用いて...
-
c言語
-
VisualStudio2022でC言語プログラム...
-
写真のプログラムは、1からnまでの...
-
プログラミング c言語
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列と関数の練習問題
-
システムエンジニアの適正について
-
[C言語]fputsとfprintfの違い
-
C言語をコンパイルするとコンピュー...
-
mallocについて
-
どちのほうがすきですか?
-
ArduinoのジャイロモジュールMPU605...
-
大量のデータを読み込んで表示する...
-
gccを行ってもexeファイルが生成さ...
-
VisualStudio2022でC言語プログラム...
-
C言語 列挙型(enum型)変数について
-
こんなことてしますか??
-
C言語の関数と配列に関する質問
-
Linuxでの開発環境構築や設定のコツ
-
質問失礼します。 プログラム言語を...
-
MACで動く実行ファイルをWindowsで...
-
WindowsのCapsLock(キャップスロッ...
-
これなにがちがうんですか??
-
卒業研究でよく分からないところが...
-
gcc13.2のバグ?
おすすめ情報