C/C++の宿題片付けます 127代目at TECH
C/C++の宿題片付けます 127代目 - 暇つぶし2ch54: ◆N8hH7z85ug
09/06/09 04:25:21
[1] 授業単元: 文字列とポインタ
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: ([09年6月10日10:00まで]
[5] その他の制限: 検索していてよく見かけた#include <string.h>というのは習っていません。
            #include<stdio.h>しか使ったことはありません。

よろしくお願いします。

55:デフォルトの名無しさん
09/06/09 06:15:46
>>52
URLリンク(kansai2channeler.hp.infoseek.co.jp)

56:デフォルトの名無しさん
09/06/09 09:35:13
>>49
何故かgcc固有のインクルードパスを無効と判定するみたい。
-vで出力みると違いがでるね。
原因とか回避方法はわからない。宿題テーマとは離れてしまうかも?

57:デフォルトの名無しさん
09/06/09 11:14:25
>>54
#include <stdio.h>

int is_non_wordc(int c)
{
if (0x30 <= c && c <= 0x39) /* 数字 */
return 0;
if (0x40 <= c && c <= 0x5a) /* 大文字英字 */
return 0;
if (0x61 <= c && c <= 0x7a) /* 小文字英字 */
return 0;
return 1;
}

int main(void)
{
char word[100];
int i = 0, c;

while ((c = getchar()) != EOF) {
if (!is_non_wordc(c)) { word[i++] = c; }
else { word[i] = '\0'; if (i != 0) printf("%s\n", word); i = 0; }
}
return 0;
}

58:デフォルトの名無しさん
09/06/09 11:29:51
fscanfの引数の場合分けがうまくいかないんだけどどうして?
引数がfloatとcharで20こあって"%d%f・・・・・",hairetu,&suuji・・・・とあるんだけど返り値=1にした時しかうまくいかない
switchにしてcase20はおkだけどcase 2とかdefaultにはcaseが正しくありませんってなる

59:デフォルトの名無しさん
09/06/09 11:38:17
>>58
>>1

60:デフォルトの名無しさん
09/06/09 11:41:22
>>59
すまん

61:デフォルトの名無しさん
09/06/09 14:07:57
>>050 姓,名,年齢,郵便番号*,電話番号の各データをメンバとする構造体配列
>>028の選択ソート使ってます。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

62:デフォルトの名無しさん
09/06/09 15:03:43
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: g++
 [3.3] 言語: C++
[4] 期限: 6月11日9:00
[5] その他の制限: 特になし
よろしくお願いします

63:デフォルトの名無しさん
09/06/09 15:34:52
>>62
URLリンク(kansai2channeler.hp.infoseek.co.jp)

64:デフォルトの名無しさん
09/06/09 15:39:08
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 6月12日24:00まで]
[5] その他の制限:特になし
よろしくお願いします

65:デフォルトの名無しさん
09/06/09 15:50:26
>>63
ありがとうございました。助かりました

66:デフォルトの名無しさん
09/06/09 15:51:25
>>62
#include <iostream>
using namespace std;

template<class T, int N> class Counting {
T* array_;
public:
Counting(T* Array) { array_ = Array; }
T sum()
{
T result = 0; for (int i = 0; i < N; ++i) result += array_[i];
return result;
}
T ave() { return sum() / N; }
void modify(int index, T value) { array_[index] = value; }
};
int main()
{
const int s1 = 5, s2 = 3;
int a[s1] = { 1, 2, 3, 4, 5 };
Counting<int, s1> ca(a);
cout << ca.sum() << " " << ca.ave() << "\n";
ca.modify(2, 10);
cout << ca.sum() << " " << ca.ave() << "\n";

double b[s2] = { 1.2, 2.5, 3.5 };
Counting<double, s2> cb(b);
cout << cb.sum() << " " << cb.ave() << "\n";
cb.modify(1, 4.8);
cout << cb.sum() << " " << cb.ave() << endl;
return 0;
}

67:66
09/06/09 15:52:06
解決済みでしたね。ごめんなさい。

68:デフォルトの名無しさん
09/06/09 16:25:57
>>051 unionを使った暗号化と複合化。
#include <stdio.h>
short encode(short);
main()
{
  int n, m, k;

  while (1) {
    printf("整数を入力して下さい(終了は0) = ");
    if(scanf("%d", &n) != 1) { scanf("%*s"); continue; }
    if (n == 0) break;
    m = encode(n); /* 暗号化 */
    printf("\n\t%d を暗号化すると %d になります。\n", n, m);
    printf("\n\t0x%04hx を暗号化すると 0x%04hx になります。\n", n, m);
    k = encode(m); /* 復号化 */
    printf("\n\t0x%04hx を復号化すると 0x%04hx になります。\n", m, k);
    printf("\n\t%d を復号化すると %d になります。\n\n", m, k);
  }
}
short encode(short data) {
  union {
    short sdata;
    struct {
      char cdata1, cdata2;
    } c;
  } u;
  char tmp;

  u.sdata = data;
  tmp = u.c.cdata1, u.c.cdata1 = u.c.cdata2, u.c.cdata2 = tmp;
  return u.sdata;
}

69:デフォルトの名無しさん
09/06/09 16:59:14
[1] 授業単元: 情報処理
>[2] 問題文(含コード&リンク):
>URLリンク(kansai2channeler.hp.infoseek.co.jp)
>[3] 環境
> [3.1] OS: Windows
> [3.2] コンパイラ名とバージョン: gcc
> [3.3] 言語: C/C++
>[4] 期限: 2009年6月11日23:30まで
>[5] その他の制限: 問題文にもありますが、3問目以外規制があります。
>
>全三問です。 よろしくお願いいたします。

70:デフォルトの名無しさん
09/06/09 18:18:19
1] 授業単元: c++
[2] 1次元配列a[1]~a[10]の各要素に任意の数値を格納した後すべて加算した合計値を表示せよ。
[3] 環境
 [3.1] OS: XP
 [3.2] turbo c
 [3.3] c++
[4] 今週金曜日まで。
[5] まだ習いはじめて一年なのでそんなには進んでません。

71:66
09/06/09 18:25:46
>>70
#include <iostream>
using namespace std;

int main()
{
double a[11];
a[0] = 0;
for (int i = 1; i <= 10; ++i) {
cout << "input a[" << i << "] > ";
cin >> a[i];
a[0] += a[i];
}

cout << "total: " << a[0] << endl;
return 0;
}

72:デフォルトの名無しさん
09/06/09 18:27:21
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: visual C++
 [3.3] 言語: C++
[4] 期限: 今日中
[5] その他の制限: 特になし
よろしくお願いします

73:デフォルトの名無しさん
09/06/09 18:29:51
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: visual C++
 [3.3] 言語: C++
[4] 期限: 今日中
[5] その他の制限:特になし
72共々よろしくお願いします

74:デフォルトの名無しさん
09/06/09 19:43:45
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):最大256文字の文字列を入力し、単語数を出力しなさい。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:6月11日 8:00
[5] その他の制限:最大256文字の文字列を引数とし、最初の単語の文字数を返す関数を作成し、それを用いる。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch