C言語の問題集の回答がないので困っているので誰か教えてください。
私はまだ始めたばかりなので手におえません。
今私が理解しているif文、switch文、for文、while文、do-while文、配列、を
使用してでお願いします。
以下のプログラムに付け足しをしてバブルソートのプログラムを完成させなさい。
バブルソート前とバブルソート後のそれぞれの並びを表示すること。
#include<stdio.h>
#define No 11
main(){
int a[No]={2,7,5,1,7,1,8,3,6,4,9};
int i,j,temp;
実行結果例
before
2 7 5 1 7 1 8 3 6 4 9
after
large >>>>>>>>>>> small
9 8 7 7 6 5 4 3 2 1 1
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
#include<stdio.h>
#define No 11
main(){
int a[No]={2,7,5,1,7,1,8,3,6,4,9};
int i,j,temp;
//初期値設定
i = 0;
j = 0;
temp = 0;
//実行前表示
printf("before\n");
for(i = 0; i < No; i++ ){
printf("%d ",a[i]);
}
//ここからバブルソート
for(i = 0 ; i < No ; i++ ){
for(j = 0 ; j < No - i ; j++ ){
if(a[ j ] < a[j + 1]){
temp = a[ j ];
a[ j ] = a[ j+1 ];
a[ j+1 ] = temp;
}
}
}
//実行後表示
printf("after\n");
for(i = 0; i < No; i++ ){
printf("%d ",a[i]);
}
分かりやすいように作りました。たぶんこれで実行しても、上手くいくはずです。
No.5
- 回答日時:
// sort.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdio.h"
#define No 11
int main(int argc, char* argv[])
{
int a[No]={2,7,5,1,7,1,8,3,6,4,9};
int i,j,temp;
printf ("before\n");
for (i = 0; i < No; ++i)
{
printf("%d", a[i]);
}
printf ("\n");
for (i = 0; i < No; ++i)
{
for (j = 1; j < No - i; ++j)
{
if (a[j] > a[j - 1])
{
temp = a[j - 1];
a[j - 1] = a[j];
a[j] = temp;
}
}
}
printf ("after\nlarge >>>>>>>>>>> small\n");
for (i = 0; i < No; ++i)
{
printf("%d", a[i]);
}
return 0;
}
No.4
- 回答日時:
はじめまして。
質問者様の質問内容を判断しまして、質問の回答ではありませんが、
今後の学習の為にアドバイスをさせてください。
どの言語の学習にもいえることですが、プログラミングそのものの
経験が浅いうちは、できれば、ネットでもよいのですが、回答付きの参考書を購入して勉強してください。今の状況ですと、たとえ、回答を
提示しても、質問者様の血肉にはならないと思います。と言いますのは、提示した回答の中でなにが自分にとって覚えなくてはならない
重要な部分なのかが判断できないと思うからです。そして、たとえ
自分で解かずに他力でその質問の解答がわかったとしても、ちょっと条件を変えた問題にこたえられなくなる可能性が大です。
問題集の問題や、今後勉強するであろうデータ構造
、オブジェクト指向言語ならばデザインパターンなどは、その参考書のサンプルを見なければ、全然手もつけられないうちは、まだまだ基礎事項の理解が不十分であると自覚すべきです。ですので、その問題を解くために必要な基礎事項の考え方を徹底的に学習して理解することに努め、問題を解くための最低限の条件が与えられたならば、その条件だけであとは解答方法は自分で考えて苦労して
なんとか解答してみる。あとは自分で導いた解答と参考書のサンプルとの比較をしてみるとよいでしょう。すると自分でも気付かなかった部分が実は重要なところなのだとわかりだすはずです。あくまでも参考書のサンプルは答え合わせのためだけに参照するくらいにしておいた方がよいと思います。では頑張ってください。
No.3
- 回答日時:
質問のタイトルを毎回変えましょう。
全部同じタイトルでは、どれがどの質問かわかりません。
C/C++カテゴリで全く同じ、もしくは少ししか違わないタイトルが並んでいると、重複投稿(これは規約違反に当たります)にしか見えません。
そして、実際にそれぞれの質問における最大の問題点は共通しています。
「解答のない問題集」で学習していることです。
そもそも、問題における解答を推測することはできますが、正解となる解答そのものを示すことはできません。
なぜなら、問題集全体を通して何らかの前提条件(intは16bit幅。規格としてはANSI以前,C90,C99、特定の処理系などの条件)が提示されることもありますので、必ずしも正答にならないのです。
また、問題文の意図が不明瞭な場合や、直前の問題からの文脈などによって条件が変わることもあります。
そして、あなたが実際に示されたとおり学習していない内容は使えないと考えるべきです。しかし、それは本人と問題集にしかわかりません。
今回の質問であれば画面への出力が必要ですが、C標準関数のうちどの方法での画面出力を学習したのかわかりません。
結局、問題集自身の「解答例」がないとならないのです。
そしてなによりも、大変お困りで回答を急がれているようですが、そうであれば解答付きの問題集が一番です。
時間と手間のかかる手段で正当なのかわからない解答例を得るよりも、素早く確実な解答を得るべきです。
No.2
- 回答日時:
どうぞ参考URLにてバブルソートのソースがあります。
そちらのソースを参考にすればすぐに完成するかと・・・。
ただNo.1の方が言われてるように勉強を始めたばかりの者が
解説・回答なしの問題集を買うべきではないです。
身にならないし読むだけ意味がない。(^-^;)
参考URL:http://www1.cts.ne.jp/~clab/hsample/Sort/Sort1.h …
No.1
- 回答日時:
その問題に答える事はそれほど難しくありませんが、
それより回答例なしの役にも立たない問題集など捨てて、回答付の問題集か参考書を買う事をお勧めします。
問題一つ一つにいちいち質問するつもりでもないすよね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列を使って魔方陣
-
構文エラー";"が型の前にあり...
-
#if 1 #elseの意味について
-
for文の中にswitch文はいれられ...
-
C言語のプログラミング (基礎...
-
初心者です。for文、if文を使っ...
-
C言語 マスターマインドゲーム...
-
C言語プログラムが理解できなくて…
-
C言語 数字以外を入力させない...
-
C言語階乗の総和を求める
-
scanf関数を用いての加減乗除%...
-
while文について、c言語...
-
配列を関数に渡す方法
-
getcの改行判定
-
c言語for文
-
switch文とwhile文を用いたプロ...
-
scanfが実行されません
-
c言語についての質問です。
-
素因数分解のプログラムを作成...
-
C言語 入力した数値の平均値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#if 1 #elseの意味について
-
構文エラー";"が型の前にあり...
-
for文の中にswitch文はいれられ...
-
配列を関数に渡す方法
-
計算結果がlong型以上になる場...
-
プログラミングで二番目に大き...
-
scanf関数を用いての加減乗除%...
-
getcの改行判定
-
C言語で電卓を作成する。
-
配列を使って魔方陣
-
C言語で勉強中(max,min)の出し方
-
C言語階乗の総和を求める
-
VHDLで、case文とwhen文のどち...
-
C言語でのトランプシャッフルに...
-
プログラム
-
while文について、c言語...
-
OpenCVを用いて任意の時間で静...
-
scanfが実行されません
-
C言語 数字以外を入力させない...
-
C言語です
おすすめ情報