回答数
気になる
-
2つ目のプロセシングの質問です。
転がす速度によってボールが画面の真ん中で止まってしまったり、端に行ってしまったりするにはどうしたらいいでしょうか? また、画像の中でボールを動かすには、どうしたらいいでしょうか?
質問日時: 2022/01/16 21:28 質問者: MeetMickey
解決済
1
1
-
Windows10openGLのバージョンに関する質問です.
Q1)下記のOpenGL Version 3.2 よりも、新しい最新バージョンの 検索方法があれば、お教え頂けますと大変有難いです。 注)つまりVersion 3.2よりも新しい最新のバージョンを知りたいです。 // OpenGL Version 3.2 Core Profile を選択する glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); 以上、宜しくお願いします。
質問日時: 2022/01/15 10:59 質問者: shiggy
解決済
1
0
-
このサイトにプログラムのスクリプトは貼れますか?
このサイトにプログラムのスクリプトは貼れますか? 貼れるのであれば貼り方も教えてください!
質問日時: 2022/01/13 20:43 質問者: おにぎり幕府
ベストアンサー
4
0
-
このプログラミングの問題の2つのコードを教えてください。
static int a[] = { 99,21,10,94,56,3,44,12,51,33,84,81,36,99,11,76,26,99,50,51,69,98,4,83,13,21,30,23,93,49,40,51,58,59,83,68,7,80,85,17,33,58,78,2,99,20,87,5,100,97,54,95,57,48,2,52,81,18,29,10,50,10,67,5,56,15,57,41,100,19,30,95,2,78,70,81,91,96,69,22,96,46,2,97,26,22,75,73,8,33,67,94,35,25,72,84,63,62,44,88,28,92,62,46,12,86,56,89,36,94,7,94,94,79,31,45,1,69,67,49,70,13,7,27,1,33,34,4,42,87,37,33,60,16,38,87,81,20,4,37,6,85,54,79,69,37,60,23,98,57,97,68,68,44,58,20,62,22,22,66,25,8,6,19,66,21,65,54,28,79,98,79,17,46,23,57,72,88,48,38,83,29,70,65,54,65,61,34,76,87,12,51,66,24,35,3,45,84,39,96,72,78,80,78,0,40,57,44,12,42,86,77,57,8,7,73,57,90,4,26,57,39,75,45,95,41,34,27,49,61,83,14,77,95,30,1,81,18,44,27,39,98,44,45,16,1,67,37,65,58,63,86,1,95,67,22,85,24,2,45,85,100,12,96,16,85,6,45,26,16,80,37,52,35,4,89,87,97,68,75,6,56,86,70,64,41,98,44,49,16,5,89,59,72,10,25,92,98,70,36,39,39,77,9,58,95,37,49,90,90,33,89,86,44,21,95,0,99,78,1,16,77,29,85,55,83,94,-999 }; ↓問題です https://drive.google.com/file/d/1-AvNNIoOZ8s9hK3Oec1JuMOjgJBa89JX/view?usp=sharing
質問日時: 2022/01/13 16:55 質問者: 柿弾
ベストアンサー
3
0
-
processingの質問です。
ボールを転がすゲームを作成しているのですが、 どこに転がるかわからなかったり(速度によって) コースがそれるというのをやりたいのですが、分からなくて、期限があるので困っています。 玉は既にあります。
質問日時: 2022/01/13 10:08 質問者: MeetMickey
解決済
1
0
-
c言語の質問です。
大きさ size の配列 heap を考える。すなわち、各要素値 heap[i]に対し、2*i+1<size-1 ならば heap[i]<heap[2*i+1]となり、2*i+2<size-1 ならば heap[i]<heap[2*i+2]となるようなデー タ格納を考える。未完成プログラムを以下に示す。 #include <stdio.h>#include <stdlib.h>void printarray(int heap[], int size); void swap(int heap[], int i, int j); void upheap(int heap[], int i); void downheap(int heap[], int i, int size); int main(void){ int data[] = {8, 98, 87, 36, 35, 54, 11, 33, 6, 79}, size = 10; int *heap, i; heap = (int *) malloc(sizeof(int)*size); for(i = 0; i <size; i++){ heap[i] = data[i]; upheap(heap, i); } printarray(heap, size); // heap[0] = heap[--size]; // downheap(heap, 0, size); // printarray(heap, size); return 0; } void printarray(int heap[], int size){ int i; for (i = 0; i <size; i++) printf("%2d%c", heap[i], i == size-1 ? '\n': ' '); } void swap(int heap[], int i, int j){ int tmp = heap[i]; heap[i] = heap[j]; heap[j] = tmp; } void upheap(int heap[], int i){ // ここを作成(問題1) } void downheap(int heap[], int i, int size){ // ここを作成(問題2) } 問題1: 配列 data[i]に格納されている要素値を配列 heap[i]へ順次格納し、課題の条件を満たすよう に、配列 heap の要素値を入れ替える関数 upheap()を作成せよ。関数は指定したプロトタイプに従い、下記の実行結果が得られることを確認せよ。 ヒント:j=2*i+1 または j=2*i+2 ならば、i は(j-1)/2 で求まる。 [実行例] $ ./a.exe 6 8 11 33 36 87 54 98 35 79 $ 問題2: main 関数内のコメントアウトを削除し、heap[0]の値が heap[size-1]に、size が size-1 に置 き換える。課題の条件を満たすように、置き換えられたれた heap[0]の値を入れ替える関数 downheap()を作成せよ。関数は指定したプロトタイプに従い、下記の実行結果が得られることを 確認せよ。 ヒント:heap[i]の値は、2*i+2<size-1ならばheap[2*i+1] とheap[2*i+2]の小さい方と入 れ替えることになる [実行例] $ ./a.exe 6 8 11 33 36 87 54 98 35 79 8 33 11 35 36 87 54 98 79 $
質問日時: 2022/01/11 15:19 質問者: 非公開0000
解決済
2
0
-
c++自作string型について
sanae::str d="hello"; sanae::str t=""; t=d; とやるとなぜかブレークポイントが発生します。 もう一つのパソコンではヒープ領域が壊れてしまったりしていて よくわかりません。 sanae::strのコード(github): https://github.com/ubproject/Useful-headers/blob/main/HeaderFiles/SanaeStr.h ほかにもおかしなところを教えていただけると嬉しいです。 初心者なのでやさしめにお願いします、、、
質問日時: 2022/01/10 00:20 質問者: うさぎ大好き人間
ベストアンサー
1
0
-
Visual Studio Community 2019 C/C++エディッタ 自動インデント機能
Visual Studio Community 2019 Version 16.11.8 エディッタの機能について ある程度コードを記述した状態で、コード途中に if文を挿入すると、以降の行が自動インデントされる機能は有りますか? 言語:C/C++ よろしくお願い致します。
質問日時: 2022/01/09 16:35 質問者: tomoyochan
解決済
2
0
-
プログラムを教えてください。大至急
ArduinoでRFIDリーダRC522を使って生産管理をやろうと思っています。 https://dotstud.io/blog/arduino-use-rfid-reader/を参考にしてやっています。 工具に識別タグを付けて工具を識別する管理をやりたいのですが。 下のプログラムにプラスでRC522センサーにタグをかざしていない間は20秒ごとにNOと出るようにしたいのですが。誰か教えてください。 #include <SPI.h> #include <MFRC522.h> constexpr uint8_t RST_PIN = 9; constexpr uint8_t SS_PIN = 10; #define UID "xx xx xx xx xx xx xx" // 取得した識別子を記述 int led_blue = 8; int led_red = 3; MFRC522 mfrc522(SS_PIN, RST_PIN); MFRC522::MIFARE_Key key; void setup() { Serial.begin(9600); pinMode(led_blue, OUTPUT); pinMode(led_red, OUTPUT); while (!Serial); SPI.begin(); mfrc522.PCD_Init(); mfrc522.PCD_DumpVersionToSerial(); Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks...")); dump_byte_array(key.keyByte, MFRC522::MF_KEY_SIZE); } void loop() { if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } if ( ! mfrc522.PICC_ReadCardSerial()) { return; } String strBuf[mfrc522.uid.size]; for (byte i = 0; i < mfrc522.uid.size; i++) { strBuf[i] = String(mfrc522.uid.uidByte[i], HEX); if(strBuf[i].length() == 1){ strBuf[i] = "0" + strBuf[i]; } } String strUID = strBuf[0] + " " + strBuf[1] + " " + strBuf[2] + " " + strBuf[3] + " " + strBuf[4] + " " + strBuf[5] + " " + strBuf[6]; if ( strUID.equalsIgnoreCase(UID) ){ Serial.println("chantoku"); digitalWrite(led_blue, HIGH); // 青いLEDを光らせる delay(1000); // 1秒待つ digitalWrite(led_blue, LOW); // 青いLEDを消す } else { Serial.println("error!"); analogWrite(led_red, 180); // 赤いLEDを光らせる delay(1000); // 1秒待つ analogWrite(led_red, 0); // 赤いLEDを消す } } void dump_byte_array(byte *buffer, byte bufferSize) { for (byte i = 0; i < bufferSize; i++) { Serial.print(buffer[i] < 0x10 ? " 0" : " "); Serial.print(buffer[i], HEX); } }
質問日時: 2022/01/08 23:27 質問者: coco3030
解決済
1
0
-
プログラミング
私は、趣味でプログラミングをしているのですが php,python,dart,cなどを使い、スマホアプリやネットアプリを作っています。 読んだらいい本や、読むべき本、勉強すべき技術を教えてください。 例、 webを支える技術、良コードを書く技術、GPUを支える技術 などを読みました。
質問日時: 2022/01/08 16:54 質問者: 9うい9p
ベストアンサー
1
1
-
プログラム作成教えてください。大至急
あるプログラムを教えてください。 人感センサーが反応しない時に人はいませんとシリアルポートに送りたいのですが。 使用しているのはArduinoを使用しています。
質問日時: 2022/01/08 00:04 質問者: coco3030
ベストアンサー
1
0
-
C言語 大至急
大至急!!このC言語を教えてください。下にプログラムを書くので??に入るものを教えてください。 tan x(0° ≤ x ≤ 180°) の値を,xを15° 刻みで計算するプログラムを作る.ただし,x = 90° のと きはtan x→ ∞ となってコンピュータでは計算できないため,そのときだけは値を計算せずに infinity と表示させる.tan xの値は数学用のライブラリ「math.h」を include することで, tan(double 型の引数) として計算できるが,引数はラジアンで与えなければならないことに注意 する.また,表示する際, x は半角 3 文字分の幅で揃え,半角スペースを空けた後,tan x の値は 全体で半角 9 文字分,小数点以下で 6 文字分の幅を確保して表示することとする.以下のプログ ラムを参考に作成せよ. #include<stdio.h> ???? int main(void){ int x; double y, pi=3.14159265359; printf(" x tan(x)\n"); for(????? ){ if(???? ){ printf( ??????); } else{ y = ?????; printf( ?????); } } return 0;
質問日時: 2022/01/07 11:59 質問者: めっちゃ食べる
解決済
1
0
-
Visual Studio 2022の『#define _DEBUG』に関する質問です。
Q1)『#define _DEBUG 0』としても、#elsew側の命令が有効になりません。 #elsew側の命令を有効にする、方法があればお教え頂けますと大変有難いです。 #define _DEBUG 0 #ifdef _DEBUG #pragma comment(lib, "opencv_world455d.lib") //<--選択される #else #pragma comment(lib, "opencv_world455.lib") //<--選択される #endif 以上、宜しくお願いします。
質問日時: 2022/01/06 14:09 質問者: shiggy
ベストアンサー
3
0
-
情報技術検定1級を目指しているものです。 C言語の穴埋め問題で8行目①の回答が *weekname[
情報技術検定1級を目指しているものです。 C言語の穴埋め問題で8行目①の回答が *weekname[7] だったのですが、どうして*がつくのでしょうか?
質問日時: 2022/01/05 23:25 質問者: かまぼこここ
ベストアンサー
1
1
-
c言語 バランスが取れた文字列が何組あるか
R L を入力して左右のR、Lが同数であるとバランスが取れた文字列とし、その数を計算したい。 input RLRRLLRLRL output 4 "RL" "RRLL" "RL" "RL" input RLLLLLRRRRLR output 3 "RL" "LLLLRRRR" "LR"
質問日時: 2022/01/04 23:27 質問者: oshienaigoogle
解決済
3
1
-
c言語 入力した二つの数字の足し算を2進数で出す
c入力した二つの数字の足し算を2進数で出したいです。 input 11 1 output 100 コードを求めています!
質問日時: 2022/01/04 23:23 質問者: oshienaigoogle
解決済
1
1
-
C#OpenCv V4にのエラーに関する質問です。
Q1)下記のエラーの解決をお教え頂けますと大変有難いです。 CS0234: Extensionsの名前がなし Cs0103: BitmapConverterの名前はなし Cs0103: ImageLayout_Stretchの名前はなし using System; using OpenCvSharp; using OpenCvSharp.Extensions; //CS0234: Extensionsの名前が存在しない using System.Windows.Forms; namespace opencv_4._1 { internal static class Program { [STAThread] static void Main() { //生成する画面の大きさ var w = 1024; var h = 768; using (var img = new Mat(new Size(w, h), MatType.CV_8UC3)) { for (int y = 0; y < img.Height; y++) { for (int x = 0; x < img.Width; x++) { img.Set(y, x, MyScalar(x, y, x + y)); }//for }//for var hello = "OPENCvSharp V4."; var pos = new Point(50, 100); var font = HersheyFonts.HersheyPlain; var color = new Scalar(255, 255, 255); img.PutText(hello, pos, font, 4.0f, color); using (var form = new Form()) { form.Text = hello; form.Size = new System.Drawing.Size(w, h); form.BackgroundImage = BitmapConverter.ToBitmap(img); //Cs0103: BitmapConverterの名前は存在しない form.BackgroundImageLayout = ImageLayout_Stretch; //Cs0103: ImageLayout_Stretchの名前は存在しない Application.Run(form); } }//using }//Main static int MyScalar(int b, int g, int r) { ...... } }//Program }//namespace
質問日時: 2022/01/04 17:44 質問者: shiggy
ベストアンサー
2
0
-
c++自作String型でfreeするとバグる(std::vector)
#include <stdio.h> #include <vector> #include "SanaeStr.h" int main(void){ std::vector<sanae::str> test; test.add("hello"); printf("%s",test[0].c_str()); } sanae::strのコード(github): https://github.com/ubproject/Useful-headers/blob/main/HeaderFiles/SanaeStr.h 168行目のsfree()でブレークポイントが発生しましたって出てしまいました。 sfree関数は #define sfree(d){free(d);d=NULL;} ってやってあるので同じポインタにfreeをしないようにしてあるのですがなってしまって 訳が分かりません。 (メモリの内容を見るとfreeされているからNULLになってるはずがなぜかNULLになっていない。) 色々つけ足しながら作ってたのでごちゃごちゃしてますがやさしめに教えていただけると嬉しいです。
質問日時: 2022/01/02 23:11 質問者: うさぎ大好き人間
ベストアンサー
2
0
-
【至急!!!】c言語のプログラムを書いて実行しようとすると、英語で「プログラムがリソースを消費しすぎ
【至急!!!】c言語のプログラムを書いて実行しようとすると、英語で「プログラムがリソースを消費しすぎて終了しました」と言う表示が出ました。スマホを再起動しましたが、改善されませんでした。どうしたら良いです か?
質問日時: 2021/12/31 15:56 質問者: グラビティフォールズの専門家
解決済
3
1
-
解決済
1
0
-
C言語 配列の構造体を下位関数で参照する方法につい
次のことを実現するC言語のコーディング方法を教えてください。 メイン関数の処理(1)と同等に処理を下位関数subb()で行いたいです。 --- コーディング例 --- #include <stdio.h> #include <windows.h> typedef struct { int a; int b; } INTT1; typedef struct { INTT1 *inttaP; INTT1 *inttbP; } INTTP; int subb(INTTP inttp[]) { printf("inttp[0].inttaP->a=%d\n",inttp[0].inttaP->a); /* ここにメイン関数の処理(1)と同等の処理をしたい ★★★★ */ printf("inttp[0].inttaP->b=%d\n",inttp[0].inttaP->b); printf("inttp[0].inttbP->a=%d\n",inttp[0].inttbP->a); printf("inttp[0].inttbP->b=%d\n",inttp[0].inttbP->b); printf("inttp[1].inttaP->a=%d\n",inttp[1].inttaP->a); printf("inttp[1].inttaP->b=%d\n",inttp[1].inttaP->b); printf("inttp[1].inttbP->a=%d\n",inttp[1].inttbP->a); printf("(*inttp[1].inttbP).b=%d\n",(*inttp[1].inttbP).b); return 0; } int main(int argc, char* argv[]) { int wk; int rc; INTT1 intt1[10]; INTT1 intt2[10]; INTT1 intt3[10]; INTT1 intt4[10]; INTTP inttp[2]; memset(intt1,0x00,sizeof(intt1)); for (wk=0;wk<9;wk++) { intt1[wk].a=wk+1; intt1[wk].b=intt1[wk].a+10; intt2[wk].a=wk+100; intt2[wk].b=intt2[wk].a+10; intt3[wk].a=wk+1000; intt3[wk].b=intt3[wk].a+10; intt4[wk].a=wk+10000; intt4[wk].b=intt4[wk].a+10; } inttp[0].inttaP=&intt1[0]; inttp[0].inttbP=&intt2[0]; inttp[1].inttaP=&intt3[0]; inttp[1].inttbP=&intt4[0]; printf("intt1[0].a=%d\n",intt1[0].a); printf("intt1[1].a=%d\n",intt1[1].a); /* 処理(1) */ rc=subb(&inttp[0]); return(0); }
質問日時: 2021/12/28 08:45 質問者: k872631
ベストアンサー
6
0
-
C言語の問題です。
この構造体配列の製品データをファイル”ProductData.dat”に保存できるようにしたうえで、書き込んだファイルを読み込んで確認できるように下の画像のプログラムをどのように修正すればよいか教えていただけませんか。 よろしくお願いいたします。。
質問日時: 2021/12/22 03:38 質問者: 甘党派
ベストアンサー
1
1
-
C言語の問題です。
int 型の整数が格納されている配列 int array[]={4,5,6,7,8,1,0,9,3} 要素の合計を要素に 0 があるまで加算する関数を 配列を用いて計算する関数 int sum_array1(int array[]) とポインターを使って計算する関数 int sum_array2(int *ptr) 2つの関数をつくり、それぞれの計算結果を示しなさい。 といった問題なのですが、誰か教えていただけませんか?
質問日時: 2021/12/22 02:57 質問者: 甘党派
ベストアンサー
1
0
-
C言語再帰アルゴリズム
再帰プログラミングの勉強中です。以下のコードは 123 132 213 231 321 312 のように正しく順列を生成するのですが、私の脳内解釈では最後の2つ 321 312 になることがわかりません。312 が2度表示されてしまいます。解釈のどこがおかしいのでしょうか? #include <stdio.h> #define N 3 //perm(N-1) で順列が表示される。 int p[N]; void perm(int); void main(void) { for (int i = 0;i < N;i++) //初期設定 p[i] = i+1; perm(0); } void swap(int *a, int *b) { int tmp; tmp = *a; *a = *b; *b = tmp; } void perm(int i) { int j; printf("perm(%d) → p[%d] = %d\n",i , i, p[i]); //for debug if (i < N-1) { for (j = i;j < N; j++) //Loop { swap(&p[i],&p[j]); // swap1 perm(i+1); // 再帰呼び出し swap(&p[i],&p[j]); // swap2(元に戻す) } } else //(i == N-1) { for (j = 0;j < N;j++) printf("%d",p[j]); printf("\n"); } } 私の脳内解釈(長文ですみません) (0)p[0]=1, p[1]=2, p[2]=3 初期値 (1)main() で perm(0) を呼び、その Loop において i=j=0 で Swap1 を実行する。p[] に変化なし。 (2)perm(1) を呼び、その Loop において i=j=1 で Swap1 を実行する。p[] に変化なし。 p[0]=1, p[1]=2, p[2]=3 (123) の状態で perm(2) を呼ぶ。 (3)perm(2) では必ず B-Loop が実行され、123 が表示される。 (4)(2)の perm(1) に戻り i=j=1 で Swap2 を実行する。最初の Loop だから p[] に変化なし。 次の Loop で i=1、j=2 となるから Swap1 を実行する。 p[0]=1, p[1]=3, p[2]=2 (132) となるので perm(i+1)=perm(2) をんで132 が表示される。 (5)(4)の perm(1) に戻り Swap2 を実行する。i=1、j=2 なので、 p[0]=1, p[1]=2, p[2]=3 (123) となるが、次の Loop で j>2 となるので Loop を抜けて(1)の perm(0) に戻る。よって(2)に続いて123 が表示されることはない。 (6)(1)の perm(0) で Swap2 を実行する。i=j=0 だから p[] に変化なし。 次の Loop で i=0、j=1 となるから、Swap1 を実行する。 p[0]=2, p[1]=1, p[2]=3 (213) として perm(i+1)=perm(1) を呼ぶ。 (7)perm(1) で Swap1 を実行する。最初の Loop は i=j=1 だから p[] に変化なし。 そのまま perm(i+1)=perm(2) を呼ぶと 213 が表示される。 (8)(7)の perm(1) に戻り Swap2 を実行する。i=j=1 だから p[] に変化なし。 次の Loop で i=1、j=2 なので、Swap1 を実行する。 p[0]=2, p[1]=3, p[2]=1 (231) となるから perm(i+1)=perm(2) を呼ぶと 231 が表示される。 (9)perm(1) に戻り i=1、j=2 で Swap2 を実行する。 p[0]=2, p[1]=1, p[2]=3 (213) となるが、次の Loop で j>2 なので Loop を抜けて(6)の perm(0) に戻る。したがって 213 が表示されることはない。 (10)(6)の perm(0) で Swap2 を実行する。i=0、j=1 だから p[0]=1, p[1]=2, p[2]=3 (123) 次の Loop で i=0、j=2 となる。Swap1 を実行すると p[0]=3, p[1]=2, p[2]=1 (321) となるから perm(i+1)=perm(1) を呼ぶ。 (11)perm(1) で Swap1 を実行する。最初の Loop は i=j=1 だから p[] に変化なし。 次の Loop で i=1、j=2 となる。Swap1 を実行すると p[0]=3, p[1]=1, p[2]=2 (312) そのまま perm(i+1)=perm(2)を呼ぶと312が表示される。 (12)(11)の perm(1) に戻り Swap2 を実行する。i=1、j=2 だから p[0]=3, p[1]=2, p[2]=1 (321) 次の Loop で i=1、j=2 なので、Swap1 を実行する。 p[0]=2, p[1]=3, p[2]=1 (312) perm(i+1)=perm(2) を呼ぶと312 が表示される。 (13)(12)の perm(1) に戻る。次の Loop で j>3 なので Loop を抜けて(10)まで戻り、(1)の perm(0) で Swap2 を実行する。i=1、j=2 だから p[0]=3, p[1]=2, p[2]=1 (321) となるが、次の Loop では j>3 となり、Loop を抜けて main() に戻るので 321 は表示されない。
質問日時: 2021/12/21 22:27 質問者: アンドロメダシティ
ベストアンサー
2
0
-
C言語の問題について
入力された二つの値の,絶対値が大きいほうの実数値を絶対値が小さいほうの実数値で割った値を表示するプログラムを教えてください。
質問日時: 2021/12/21 22:23 質問者: riringon
解決済
5
0
-
このプログラムがわかりません
配列を表示と配列の先頭から3つだけ表示は自力でできたのですが、2番目の配列要素から3つ表示するというのがどうしてもできなくて困っています。 誰か教えていただけませんかお願いいたします。
質問日時: 2021/12/21 16:48 質問者: 甘党派
ベストアンサー
2
0
-
C#のコンパイルエラーCS0120に関する質問です。
Q1)下記のコードで正しいコードをお教え頂けますと大変有難いです。 注)出来れば、static属性を追加する方法ではない方法で。 namespace BBB { class Program { public int Add(int x, int y) { return x + y; } private static int Addx(int x, int y) => x + y; { ans = Add(10, 20); //エラー CS0120 静的でないフィールド、メソッド、またはプロパティ 'Program.Add(int, int)' で、オブジェクト参照が必要です } 以上、宜しくお願いします。
質問日時: 2021/12/21 08:51 質問者: shiggy
ベストアンサー
1
0
-
C#のラムダ式に関する質問です
下記の普通の関数は、static void Main(string[] args) {}の中で 使用できますが、次のラムダ式の記法と徹底的に省略した記法は、使用出来ない 様です。 つまり、これらの記述を行うだけで、コンパイルエラーが発生します。 Q1)この様な記述がC#で許されるならば、正しい書き方をお教え頂けますと大変有難いです。 ==================== // 普通の関数記法 private int Add(int x, int y) { return x + y; } // ラムダ式の記法 (int x, int y) => { return x + y; }; // 徹底的に省略した記法 // 関数本体が1行で済むなら{}とreturnを省略できる (x, y) => x + y; ======================== 以上、宜しくお願いします。
質問日時: 2021/12/19 23:04 質問者: shiggy
ベストアンサー
2
0
-
コンパイルについて。
gccコンパイラで、デクストップ上にあるdata.cをコンパイルしたいのですが、うまくいきません。教えていただけると嬉しいです。すみません。
質問日時: 2021/12/18 23:51 質問者: メラゾーム
ベストアンサー
10
0
-
2^xを表示するプログラミング
画像の赤い線の部分に適切なプログラムを入れて正の整数xを入力すると2^xを表示するようにしたいのですが何を入れればよいのかわかりません。教えていただけないでしょうか。
質問日時: 2021/12/18 22:48 質問者: jgmwpmdgwtmgm
解決済
3
0
-
パイソンについて。for文の変数は、for文ごとに使い分ける、が無難ですか?たとえば、 for x
パイソンについて。for文の変数は、for文ごとに使い分ける、が無難ですか?たとえば、 for x in n: とつかったらほかの場所で、 for x in m: とはしないほうがいいですか?
質問日時: 2021/12/18 15:06 質問者: てくびちゃん。
ベストアンサー
4
0
-
年齢、体重、身長を入力してBMIとカウプ指数とロレール指数で肥満、標準、痩せすぎを判断するc言語のプ
年齢、体重、身長を入力してBMIとカウプ指数とロレール指数で肥満、標準、痩せすぎを判断するc言語のプログラムはどうやって作るのでしょうか?教えてください!
質問日時: 2021/12/17 11:49 質問者: 羽ばたけ
ベストアンサー
3
1
-
ひんとをおしえてください。私より頭いいお友達とかに聞いたけど、わかりませんでした。答えは聞いたらずる
ひんとをおしえてください。私より頭いいお友達とかに聞いたけど、わかりませんでした。答えは聞いたらずるだから、ひんとをおしえてください。
質問日時: 2021/12/16 11:07 質問者: てくびちゃん。
解決済
2
0
-
D1201.c: 関数 'readlist' 内: D1201.c:126:162: 警告: ポイン
D1201.c: 関数 'readlist' 内: D1201.c:126:162: 警告: ポインタと整数との比較を行なっています while (((uintptr_t)fscanf(fp, "%s %s %d %d %d %d %d %d %s %s", idout, nameout, &tout[0], &tout[1], &tout[2], &tout[3], &tout[4], &tout[5], sdate, stime))!=NULL){ と警告が表示されていますが、原因が分からず、どう直せばいいでしょうか。
質問日時: 2021/12/16 02:04 質問者: 素人ですので
解決済
2
0
-
c言語についてで、星占いをswitch関数を用いたらどのようにかけますか。教えてください!
c言語についてで、星占いをswitch関数を用いたらどのようにかけますか。教えてください!
質問日時: 2021/12/16 00:24 質問者: 羽ばたけ
ベストアンサー
5
0
-
C言語について
大学の課題で以下のあからけまでの部分を埋めなくてはならないのですが、全く分かりません。どなたか教えてください。お願いします。 #include <stdio.h> #include < あ > #include < い > int main(void) { int hand_player, hand_com, continue_game=1; srand(time(NULL)); printf("\n=== じゃんけん スタート! ==="); while( う ) { //***「あいこの場合は無限ループ」ブロックここから *** while(1) { printf("\n\n1,2,3のどれかであなたの手を入れてください"); printf("\n=================================\n"); printf("グー:1 チョキ:2 パー:3"); printf("\n=================================\n"); // あなたの手 scanf("%d", &hand_player); printf("\nあなたの手は "); switch( え ){ お 1: printf("[グー] \n"); break; お 2: printf("[チョキ]\n"); break; お 3: printf("[パー] \n"); break; か : printf("1,2,3のどれかを入れてください\n\n"); continue; } // コンピュータの手 hand_com = き ; printf("コンピュータの手は "); switch( く ){ お 1: printf("[グー] \n"); break; お 2: printf("[チョキ]\n"); break; お 3: printf("[パー] \n"); break; } // あいこの判定 if( え == く ) printf("\nあいこ! です\n\n"); else け ; } //***「あいこの場合の無限ループ」ブロックここまで *** // 勝敗判定 if(hand_player%3==hand_com-1) printf("\nあなたの勝ち!\n\n"); else printf("\nコンピュータの勝ち!\n\n"); // ゲーム継続/終了の確認 printf("じゃんけんを続けますか?(つづける:1 終了:0): "); scanf("%d", &continue_game); } printf("ゲーム終了\n"); return 0; }
質問日時: 2021/12/15 17:16 質問者: calvados0203
ベストアンサー
2
0
-
プログラミング、C言語です。 次のプログラムを実行するソースコードを教えて下さい。 自然数 n の値
プログラミング、C言語です。 次のプログラムを実行するソースコードを教えて下さい。 自然数 n の値を入力し、続けて n 個の整数を入力すると、入力順で前後した2つの整数値の(n-1 個の)差の絶対値を一行ずつ出力するプログラムを作成しなさい。 ただし、n に 1 以下の値が入力されると、プログラムは n の入力を繰り返すものとする。 例 入力: 5 1 2 4 7 -10 出力: 1 2 3 17 入力: 0 1 2 3 10 出力: 7
質問日時: 2021/12/15 02:06 質問者: じょじー
解決済
4
0
-
半素数とは、その値が2つの素数の積で表される自然数である。たとえば、4(=2x2)、15(=3x5)
半素数とは、その値が2つの素数の積で表される自然数である。たとえば、4(=2x2)、15(=3x5)は半素数である。 2〜20 の範囲の1つの自然数 n の値を入力すると、2x2 から nxn までの積の値を各行・各列に並べた掛け算九九(のような)表を出力するプログラムを作成しなさい。ただし、積の値が半素数である場合は、積の値の代わりに1つの #(半角シャープ)文字を出力し、それぞれの積(あるいは # 文字)は4文字幅右寄せで表示する。 また、n の値として指定された範囲以外の値が入力されると、プログラムは何も出力せずに終了するものとする。 C言語で上のようなプログラムを考えているのですが、中々上手くいきません。 コードの例など教えて欲しいです
質問日時: 2021/12/14 22:10 質問者: じょじー
解決済
2
0
-
C言語で特定列だけを抽出して配列に格納し、出力したいです。 読み込みファイル(read.txt) 0
C言語で特定列だけを抽出して配列に格納し、出力したいです。 読み込みファイル(read.txt) 0,0,0,1,0,0 0,0,1,0,0,0 0,0,2,7,0,0 … 0,0,179,1,0,0 1,0,0,5,0,0 1,0,1,2,0,0 1,0,2,7,0,0 … 379,0,179,1,0,0 から4列目だけを抽出したいです。 ファイルの1列目は0から379まで変化し、3列目は0から179まで変化します。 よって380×180=68400行あります。 抽出する際、配列[380][180]の対応する箇所に4行目を格納してから出力させたいです。 上の例より 配列[0][0]=1 配列[0][1]=0 配列[0][2]=7 … 配列[0][179]=1 配列[1][0]=5 配列[1][1]=2 配列[1][2]=7 … 配列[379][179]=1 となって出力結果は 1 0 7 … 1 5 2 7 … 1 とやりたいのですが上手く行きません。 どなたか教えていただけませんか? C言語初心者なので詳しく教えていただけると幸いです。
質問日時: 2021/12/13 15:25 質問者: たうより
解決済
4
0
-
C# DataGridView のヘッダーセル中央揃え
C# DataGridView のヘッダーセル中央揃え指定についての質問です。 ※数値セルは右詰めで統一しています 下の画像で一番左側のヘッダーセルの中央揃えは DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; DataGridView2.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; でうまくいくのですが、方程式の次数によって変化する「解」の列のヘッダーの文字が、解を求めるところで改めて int Ans = DataGridView1.ColumnCount-1; DataGridView1.Columns[Ans].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter; とやってもうまくいきません。どうすればいいのでしょうか?
質問日時: 2021/12/13 10:20 質問者: アンドロメダシティ
ベストアンサー
3
0
-
c言語の本を教えてください。分厚くて辞書みたいなやつがいいです。日本の本屋さんで変える、のにしくださ
c言語の本を教えてください。分厚くて辞書みたいなやつがいいです。日本の本屋さんで変える、のにしください。お願いします。
質問日時: 2021/12/09 15:39 質問者: てくびちゃん。
ベストアンサー
5
0
-
C言語について。 同じ年内で経過日数を計算するプログラムを作ってみました。ここから土日を除いた経過日
C言語について。 同じ年内で経過日数を計算するプログラムを作ってみました。ここから土日を除いた経過日数を計算したい場合ってどう変えればいいですか? 経過日数を7で割って、×2すればいいのかな、と思ったんですけど、経過日数が1週間ない場合もあるので… 以下は土日を除いていない状態の経過日数計算プログラムです #define _CRT_SECURE_NO_WARNINGS #include <stdio.h>int main() { int ay, am, ad, by, bm, bd; printf("同じ年の2つの日付を入力して経過日数を計算せよ\n"); printf("1つ目の日付(入力例:2020/3/13)\n"); scanf("%d/%d/%d", &ay, &am, &ad); if (ay % 400 == 0) leap = 1; else if (ay % 4 == 0 &&ay % 100 != 0)leap = 1; int a = -1; int i; for (i = 1; i <am; i++) { if (i == 1)a = a + 31; else if (i == 2) a = a + 28 + leap; else if (i == 3)a = a + 31; else if (i == 5)a = a + 31; else if (i == 7)a = a + 31; else if (i == 8)a = a + 31; else if (i == 10)a = a + 31; else if (i == 12)a = a + 31; else a = a + 30; } a = a + ad; printf("2つ目の日付(入力例:2020/3/13)\n"); scanf("%d/%d/%d", &by, &bm, &bd); int b = -1; for (int i = 1; i <bm; i++) { if (i == 1)b = b + 31; else if (i == 2)b = b + 28 + leap; else if (i == 3)b = b + 31; else if (i == 5)b = b + 31; else if (i == 7)b = b + 31; else if (i == 8)b = b + 31; else if (i == 10)b = b + 31; else if (i == 12)b = b + 31; else b = b + 30; } b = b + bd; printf("経過日数は%d日\n", b - a); return 0; }
質問日時: 2021/12/09 10:10 質問者: すゞすゞ
解決済
3
1
-
論理演算子を判定するプログラム c言語で
#include <stdio.h> #include <string.h> #include <ctype.h> #define BUFFERSIZE 1024 char Buffer[BUFFERSIZE]; int Index; int ParseError; int getE(void); void parseError(FILE *out, char msg[]) { ParseError = 1; fprintf(out, "%s\n", msg); fprintf(out, "%s\n", Buffer); for (int i = 0; i < Index; i++) fprintf(out, " "); fprintf(out, "^\n"); } void removeWhite(void) { int j = 0, c; for (int i = 0; (c = Buffer[i]) != '\0'; i++) { if (c == ' ' || c == '\t' || c == '\n') continue; Buffer[j++] = c; } Buffer[j] = '\0'; } int getD(void) { int value = 0; while (isdigit(Buffer[Index])) { value = 10*value + Buffer[Index] - '0'; Index++; } return value; } int getF(void) { int value; if (isdigit(Buffer[Index])) { // 数値表現 value = getD(); if (ParseError) return 0; } else if (Buffer[Index] == '(') { // ( E ) ++Index; value = getE(); if (ParseError) return 0; if (Buffer[Index] == ')') { ++Index; } else { parseError(stderr, "閉じ括弧')'がありません."); return 0; } } else { parseError(stderr, "数字または開き括弧'('がありません."); return 0; } return value; } int getT(void) { int v, value; value = getF(); if (ParseError) return 0; while (Buffer[Index] == '*' || Buffer[Index] == '/') { char op = Buffer[Index++]; v = getF(); if (ParseError) return 0; if (op == '*') value *= v; else value /= v; } return value; } int getE(void) { int v, value; if (Buffer[Index] == '-') { ++Index; v = getT(); if (ParseError) return 0; value = -v; } else { value = getT(); if (ParseError) return 0; } while (Buffer[Index] == '+' || Buffer[Index] == '-') { char op = Buffer[Index++]; v = getT(); if (ParseError) return 0; if (op == '+') value += v; else value -= v; } return value; } int getExpression(void) { int value; value = getE(); if (ParseError) return 0; if (Buffer[Index] != '\0') { parseError(stderr, "余分な表現があります."); } return value; } int mygets(char *s, int n) { fgets(s, n, stdin); int lg = strlen(s); if (lg > 0 && s[lg-1] == '\n') s[--lg] = '\0'; return lg; } int main(void) { int value; while (1) { ParseError = 0; fprintf(stderr, "\n算術式:="); if (mygets(Buffer, BUFFERSIZE) <= 0) break; removeWhite(); Index = 0; value = getExpression(); if (ParseError) { fprintf(stderr, "正しくない算術式です.\n"); } else { fprintf(stderr, "正しい算術式です. 値は%dです.\n", value); } } return 0; } Σ ={0, 1, (, ), ⋀, ⋁,¬}とする. 以下の生成規則をもつ拡張文脈自由文法により 開始記号 E から導出される Σ 上の記号列を論理式とよぶ. 論理式の定義 B → 0 | 1 F → {¬} B | {¬}(E) T → F { ⋀ F } E → T { ⋁ T この定義において、論理式の値の評価を行うプログラムを作りたいのですが上のプログラムをどう改良すればいいでしょうか? 記号「⋀」「⋁」「¬」は,それぞれ,「&」「+」「!」で代用したいです。 もしよければ返信お願いします。
質問日時: 2021/12/08 17:38 質問者: とに1001
解決済
3
0
-
c言語 文字化けします
#include <stdio.h> #include <string.h> #include <ctype.h> #define BUFFERSIZE 1024 char Buffer[BUFFERSIZE]; int Index; int ParseError; int getE(void); void parseError(FILE *out, char msg[]) { ParseError = 1; fprintf(out, "%s\n", msg); fprintf(out, "%s\n", Buffer); for (int i = 0; i < Index; i++) fprintf(out, " "); fprintf(out, "^\n"); } void removeWhite(void) { int j = 0, c; for (int i = 0; (c = Buffer[i]) != '\0'; i++) { if (c == ' ' || c == '\t' || c == '\n') continue; Buffer[j++] = c; } Buffer[j] = '\0'; } int getD(void) { int value = 0; while (isdigit(Buffer[Index])) { value = 10*value + Buffer[Index] - '0'; Index++; } return value; } int getF(void) { int value; if (isdigit(Buffer[Index])) { // 数値表現 value = getD(); if (ParseError) return 0; } else if (Buffer[Index] == '(') { // ( E ) ++Index; value = getE(); if (ParseError) return 0; if (Buffer[Index] == ')') { ++Index; } else { parseError(stderr, "閉じ括弧')'がありません."); return 0; } } else { parseError(stderr, "数字または開き括弧'('がありません."); return 0; } return value; } int getT(void) { int v, value; value = getF(); if (ParseError) return 0; while (Buffer[Index] == '*' || Buffer[Index] == '/') { char op = Buffer[Index++]; v = getF(); if (ParseError) return 0; if (op == '*') value *= v; else value /= v; } return value; } int getE(void) { int v, value; if (Buffer[Index] == '-') { ++Index; v = getT(); if (ParseError) return 0; value = -v; } else { value = getT(); if (ParseError) return 0; } while (Buffer[Index] == '+' || Buffer[Index] == '-') { char op = Buffer[Index++]; v = getT(); if (ParseError) return 0; if (op == '+') value += v; else value -= v; } return value; } int getExpression(void) { int value; value = getE(); if (ParseError) return 0; if (Buffer[Index] != '\0') { parseError(stderr, "余分な表現があります."); } return value; } int mygets(char *s, int n) { fgets(s, n, stdin); int lg = strlen(s); if (lg > 0 && s[lg-1] == '\n') s[--lg] = '\0'; return lg; } int main(void) { int value; while (1) { ParseError = 0; fprintf(stderr, "\n算術式:="); if (mygets(Buffer, BUFFERSIZE) <= 0) break; removeWhite(); Index = 0; value = getExpression(); if (ParseError) { fprintf(stderr, "正しくない算術式です.\n"); } else { fprintf(stderr, "正しい算術式です. 値は%dです.\n", value); } } return 0; } この構文解析プログラムを実行すると 邂苓。灘シ・=(1+2+3)*3 豁」縺励>邂苓。灘シ上〒縺・ 蛟、縺ッ18縺ァ縺・ のように文字化けしてしまうのですがなぜでしょうか?
質問日時: 2021/12/08 16:35 質問者: とに1001
解決済
2
0
-
カラーキューブ数独をc言語でときたいです。
カラーキューブ数独の解を列挙するプログラムを作成したいのですが. 列挙の仕方と枝刈とを工夫したいです 1つの解を回転することで得られる解は同一とみなしたい. この意味で重複なく列挙するにはどうしたらよいですか?
質問日時: 2021/12/08 16:20 質問者: とに1001
解決済
4
0
-
C言語 mallocのエラーに関する質問
C言語で書いたコードがうまく動かなくてVScodeでデバッグしたところ 何回目かに呼び出したmallocで止まっていました。エラー内容は 例外が発生しました Unknown signal となっており役に立たなさそうで、個人的には、メモリーがオーバーフローした、free()のやり方を間違えた。mallocの使い方を間違えた、のうちのどれかが原因だと思っているのですが調べ方がわかりません。うまい確認の仕方があれば教えてください。 また、何か考えられるほかの原因もあれば教えてください。
質問日時: 2021/12/06 20:24 質問者: アドソン
ベストアンサー
6
0
-
ペントミノをc言語で実行するとエラーがでる
#include <stdio.h> typedef struct { int pos[5]; } MinoPos; typedef struct { char name; int used; int formsize; MinoPos form[8]; } Piece; Piece pieces[] = { {'X', 0, 1, {{0,6,7, 8,14}}}, {'U', 0, 4, {{0,1,2, 7, 9},{0,1, 7,14,15},{0,2, 7, 8, 9},{0,1, 8,14,15}}}, {'W', 0, 4, {{0,1,8, 9,16},{0,1, 6, 7,13},{0,7, 8,15,16},{0,6, 7,12,13}}}, {'F', 0, 2, {{0,1,8, 9,15},{0,6, 7, 8,13}}}, {'Z', 0, 4, {{0,1,8,15,16},{0,5, 6, 7,12},{0,1, 7,13,14},{0,7, 8, 9,16}}}, {'P', 0, 8, {{0,1,2, 7, 8},{0,7, 8,14,15},{0,1, 6, 7, 8},{0,1, 7, 8,15},{0,1,2,8, 9},{0,1, 7, 8,14},{0,1,7,8, 9},{0,6, 7,13,14}}}, {'N', 0, 8, {{0,1,2, 9,10},{0,6, 7,13,20},{0,1, 8, 9,10},{0,7,13,14,20},{0,1,2,6, 7},{0,7,14,15,22},{0,1,5,6, 7},{0,7, 8,15,22}}}, {'Y', 0, 8, {{0,1,2, 3, 8},{0,7,14,15,21},{0,5, 6, 7, 8},{0,6, 7,14,21},{0,1,2,3, 9},{0,7, 8,14,21},{0,6,7,8, 9},{0,7,13,14,21}}}, {'T', 0, 4, {{0,1,2, 8,15},{0,7, 8, 9,14},{0,7,13,14,15},{0,5, 6, 7,14}}}, {'L', 0, 8, {{0,1,2, 3, 7},{0,7,14,21,22},{0,4, 5, 6, 7},{0,1, 8,15,22},{0,1,2,3,10},{0,1, 7,14,21},{0,7,8,9,10},{0,7,14,20,21}}}, {'V', 0, 4, {{0,1,2, 7,14},{0,7,14,15,16},{0,7,12,13,14},{0,1, 2, 9,16}}}, {'I', 0, 2, {{0,1,2, 3, 4},{0,7,14,21,28}}}, }; int board[77]; int counter, try_counter; void init_board(void); void print_board(void); void try_piece(int level); int board_index(int find_num); void init_board(void) { int i; for(i=0; i<77; i++){ if(((i + 1) % 7) == 0 || i >= 70){ board[i] = 100; } } } void print_board(void) { int row, col; printf("No. %d\n", counter); for(row=0; row<6; row++){ for(col=0; col<70; col += 7){ printf(" %c", pieces[board[row + col] - 1].name); } printf("\n"); } printf("\n"); } int board_index(int find_num) { int i; for(i=0; i<77; i++){ if(board[i] == find_num){ return i; } } return 0; } void try_piece(int level) { int i, j, k, x; try_counter++; x = board_index(0); for(i=0; i<12; i++){ if(pieces[i].used == 1){continue;} for(j=0; j<pieces[i].formsize; j++){ if(board[x + pieces[i].form[j].pos[0]] || board[x + pieces[i].form[j].pos[1]] || board[x + pieces[i].form[j].pos[2]] || board[x + pieces[i].form[j].pos[3]] || board[x + pieces[i].form[j].pos[4]]){continue;} // ピースを置く for(k=0; k<5; k++){board[x + pieces[i].form[j].pos[k]] = i + 1;} pieces[i].used = 1; // すべてのピースを置ききったらTrueを返す(recursiveコールの終了) if(level == 11){ counter++; print_board(); // ピースを戻す for(k=0; k<5; k++){board[x + pieces[i].form[j].pos[k]] = 0;} pieces[i].used = 0; return; } // 次のピースを試す try_piece(level + 1); // ピースを戻す for(k=0; k<5; k++){board[x + pieces[i].form[j].pos[k]] = 0;} pieces[i].used = 0; } } } int main(int argc, char **argv) { init_board(); try_piece(0); printf("解合計: %d\n", counter); printf("操作数: %d\n", try_counter); } これを gcc -O2 kokoa1.c time ./a.out と実行すると、 time : 用語 'time' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記 述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。 発生場所 行:1 文字:1 + time ./a.out + ~~~~ + CategoryInfo : ObjectNotFound: (time:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException というエラーが出るのですがなぜですか?
質問日時: 2021/12/06 19:18 質問者: とに1001
解決済
3
0
-
C言語 putchar関数
putchar関数のみを用いて標準出力へ文字を一つずつ出力することで,'0'から'9'までを表示するプログラムを作成したいです。(printf関数,puts関数を用いないで。) しかし,繰り返しを用いて,putchar関数の呼び出しは2回しか使わないようにしたいです。
質問日時: 2021/12/06 17:50 質問者: riringon
ベストアンサー
2
0
-
#include <stdio.h> #include <stdlib.h> #include <s
#include <stdio.h> #include <stdlib.h> #include <string.h> //構造体の定義 struct testdat { char id[10]; char name[64]; int test[6]; struct testdat *p; }; //構造体のデータを追加する struct testdat *addlist(char *id, char *name, int t1, int t2, int t3, int t4, int t5, struct testdat *head); void showlist(struct testdat *p); //登録されたデータイストの表示 void freelist(struct testdat *p); //プログラム終了時に使用したメモリ開放 int main(void) { struct testdat *head; //先頭ポイントの設定 char idin[10], namein[64]; int testin[5]; head = NULL; puts(" *** 自己参照struct(リストデータ)の作成 ***\n"); /* prints */ puts(" -----------データの入力\n"); printf(" 半角スペース区切りで、\nID 名前 国語 数学 英語 理科 社会 の点数を入力\n(終了=Ctrl+Z\n"); fflush(0); while ( scanf("%s %s %d %d %d %d %d", idin, namein, &testin[0], &testin[1], &testin[2], &testin[3], &testin[4])!=EOF) { //リストにデータを登録 head = addlist(idin, namein, testin[0], testin[1], testin[2], testin[3], testin[4], head); } puts("****** 入力されたデータ"); showlist(head); puts("------------メモリの開放"); freelist(head); return EXIT_SUCCESS; } /* データをリストに追加する */ struct testdat *addlist(char *id, char *name, int t1, int t2, int t3, int t4, int t5, struct testdat *head){ struct testdat *p; //記憶領域の確保 if ((p = (struct testdat *) malloc(sizeof(struct testdat)))==NULL) { printf("メモリ確保できません\n"); exit(EXIT_FAILURE); } strcpy(p->id, id); strcpy(p->name, name); p->test[0]=t1; p->test[1]=t2; p->test[2]=t3; p->test[3]=t4; p->test[4]=t5; p->test[5]=t1+t2+t3+t4+t5; //自己参照ポインタの付け替え p->p=head; head = p; return head; } /*記憶されたデータの表示 */ void showlist(struct testdat *p) { while(p != NULL) { printf("%s %s %d %d %d %d %d %d\n", p->id, p->name, p->test[0], p->test[1], p->test[2], p->test[3], p->test[4], p->test[5]); } return; } /* 使用しための開放 */ void freelist(struct testdat *p) { struct testdat *p2; while(p!=NULL) { p2 = p->p; free(p); p = p2; } return; } ですが、ポインタがどんなふうに変化しているのか詳細に教えてくださいませんか。
質問日時: 2021/12/05 16:11 質問者: Mercyを
解決済
2
0
-
たとえば、s = Tokyo Kyoto という文字列で s2 = s.split() しますと、s
たとえば、s = Tokyo Kyoto という文字列で s2 = s.split() しますと、s2は["Tokyo", "Kyoto"] となりますが、これはlistじゃないんですか? s2のなかのものについて for x in s2: などとしますと、できません。
質問日時: 2021/12/05 15:46 質問者: てくびちゃん。
ベストアンサー
6
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【C言語・C++・C#】に関するコラム/記事
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 関数、変数の宣言について
-
gccを行ってもexeファイルが生成さ...
-
プログラマー達は何故、プログラム...
-
C++でデスクトップGUIアプリ開発の...
-
Cのプログラムからアクセスできない...
-
C言語の関数のextern宣言
-
あってる
-
DNCL(共テ用プログラミング言語)に...
-
2つほどお聞きしたいことがあり、答...
-
visual studio 2022でのC#プログラ...
-
C言語について(初心者)
-
パソコン
-
バッチファイルで以下のようなもの...
-
c#のTLS1.2での通信について
-
PIC12F1822でLED調光器を作りたい
-
最初に聞かれたこと
-
だいがくの電し書籍で
-
大量のデータを読み込んで表示する...
-
MACで動く実行ファイルをWindowsで...
-
プログラミングc++を全く分からな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
visual studio 2022でのC#プログラ...
-
Windows Formアプリからコンソール...
-
大量のデータを読み込んで表示する...
-
C言語の関数のextern宣言
-
C#でログファイルにファイルパスが...
-
【C言語】全角文字の配列を、全角の...
-
略語の読み方について
-
プログラマー達は何故、プログラム...
-
C#でTreeViewのCheckBoxのサイズ変更
-
gccを行ってもexeファイルが生成さ...
-
c言語でイベントフラグを使った制御...
-
VisualStudio2022でC言語プログラム...
-
Python、プログラミングについて質...
-
C言語 列挙型(enum型)変数について
-
VisualStudioでC++クラスを追加する...
-
int16_t の _t は何?
-
Notepad++の関数リスト表示の変更方...
-
コンソールアプリを作成するのにお...
-
逆コンパイルと逆アセンブルの違い...
-
MACで動く実行ファイルをWindowsで...
おすすめ情報