トップページ⇒tech
982コメント315KB

宿題手伝いますYO!!

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
宿題とか手伝いますけど、以下の事項は守ってほしいです。
・マルチポストは厳禁です。
・キーワードが分かっているなら、http://www.google.co.jp を活用すること。
・質問内容がちゃんと日本語になっていること。
・言語名を入れること。
・自分の力で頑張ってみたことを伝えられる人。
・どこまでわかったのかを書くこと。
以上です。

前スレ http://pc3.2ch.net/test/read.cgi/tech/1029422194/

新
↑
│ http://pc3.2ch.net/test/read.cgi/tech/1027756023/
│ http://pc3.2ch.net/test/read.cgi/tech/1026138039/
│ http://pc.2ch.net/test/read.cgi/tech/1024592344/
│ http://pc.2ch.net/test/read.cgi/tech/1007902384/
│ http://pc.2ch.net/tech/kako/1003/10038/1003838158.html
│ http://pc.2ch.net/tech/kako/982/982853418.html
│ http://piza.2ch.net/tech/kako/972/972032579.html
↓
古

長いソースを張れるBBS
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433
0101デフォルトの名無しさんNGNG
class ServerThread extends Thread {
private Socket client;
private BufferedReader file_in;
private BufferedReader from_client;
private PrintWriter to_client;
static int live_count=0;

public ServerThread(Socket c) {
super();
client = c;
}

synchronized void count_up() {
live_count++;
}

synchronized void count_down() {
live_count--;
}

public void run() {
count_up();
System.out.println(ServerThread.live_count);
try {
from_client =
new BufferedReader(new InputStreamReader(client.getInputStream()));
to_client =
new PrintWriter(client.getOutputStream());

0102デフォルトの名無しさんNGNG
System.out.println("connecting from " +
client.getInetAddress());
String line;
while(!(line = from_client.readLine()).equals("bye")) {
if(line.equals("name")){
to_client.println("名前");
}

else if(line.equals("number")){
to_client.println("番号");
}
else{
to_client.println("\n");
}
to_client.flush();

}
to_client.println("ok");
to_client.flush();

from_client.close();
to_client.close();
client.close();
count_down();
}
catch(Exception e) {
count_down();
System.err.println(e);
}
}
}
0103デフォルトの名無しさんNGNG
そして これがCUI版のクライアントです。
import java.io.*;
import java.net.*;

public class MyClient {
public static void main(String[] args) {
if(args.length != 2) {
throw new IllegalArgumentException("Usage: java MyClient IPaddress portnumber");
}
String host = args[0];
int port = Integer.parseInt(args[1]);
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
try {
Socket server = new Socket(host, port);
BufferedReader from_server =
new BufferedReader(new InputStreamReader(server.getInputStream()));
PrintWriter to_server =
new PrintWriter(server.getOutputStream());

System.out.println("Client: Connected to " +
server.getInetAddress() +
":" + server.getPort());

0104デフォルトの名無しさんNGNG
while(true) {
System.out.print("> ");
String send_str = input.readLine();
to_server.println(send_str);
to_server.flush();
String line = from_server.readLine();
System.out.println(line);
if(send_str.equals("bye")) {
break;
}
}

from_server.close();
to_server.close();
server.close();
}
catch (Exception e) {
System.err.println(e);
}
}
}

これで一通りは終わりです。
010599NGNG
自分ではこういうのを作ってみたのですが、GUIで作るのは初めてなので本とか参考にしてもうまくいきません・・・

class lis extends JPanel implements ActionListener{
JButton button1,button2;

lis(){
JButton button1 = new JButton("名前");
JButton button2 = new JButton("番号");
add(button1);
add(button2);
button1.addActionListener(this);
button2.addActionListener(this);
mainrepaint;
}

public void actionPerformed(ActionEvent e){
if(e.getSource() == button1){

}
else if(e.getSource() == button2){
}
}
010699NGNG
まずはif文を使い、どちらのボタンを押したのか見分け、それに対応したプログラムが書ける状態にしたいのです。
010799NGNG
とりあえず全然進まないので、今日は寝ることにします。
1をよく見ず書いたので、「長いソースを張れるBBS」というとこに目がいきませんでした。
ごめんなさい。
0108デフォルトの名無しさんNGNG
荒らすだけ荒らしておねんねか。
0109ぱぱNGNG
碁石モデルのプログラムをC言語で作ろうと思っています
どういったものかというと
1・二次元の正方格子(碁盤のようなもの)を考える
2・まず最初に1つだけ白いしを格子点に置く
3・その周りの四つの格子点に確率Pで白石を置く。そうでない場合は黒石をおく
4・次に白石に隣接する何も置いていない格子点に、3と同じ思考をする。
5・以上の操作をすべての白石が黒石に囲まれるまで繰り返す

このアルゴリズムを考えています。考え方のきっかえでももらえないでしょうか?
よろしくお願いします
0110デフォルトの名無しさんNGNG
>>109
http://pc3.2ch.net/test/read.cgi/tech/1024024666/l50
このスレ参考になるかも。

>1・二次元の正方格子(碁盤のようなもの)を考える
2次元配列で。

>2・まず最初に1つだけ白いしを格子点に置く
配列へ値を代入。(例:白=1、黒=2、なし=0)

>3・その周りの四つの格子点に確率Pで白石を置く。そうでない場合は黒石をおく
確率Pはrand()で。

>4・次に白石に隣接する何も置いていない格子点に、3と同じ思考をする。
それを関数化しておくと楽だね。
int think(int color);みたいに。

>5・以上の操作をすべての白石が黒石に囲まれるまで繰り返す
whileループで実現。
0111デフォルトの名無しさんNGNG
>>108
反省してるしいいんじゃない。

>>105
ほとんど問題ないように思うけど、気になる点が一点。

class lis extends JPanel implements ActionListener{
JButton button1,button2;

 lis(){
 /*JButton*/ button1 = new JButton("名前");
 /*JButton*/ button2 = new JButton("番号");
 ...

クラス変数と同名のローカル変数を宣言すると、別の変数として扱われてしまう。
ていうかどう上手くいかないのか書こうYO!!
0112デフォルトの名無しさんNGNG
>98
ルーチンで処理するのではなく、数例を具体的数値とともに調べることが必要なよう
なのですが、いまいち意味がわかりません。どうしたらいいのでしょうか?
0113一年生NGNG
C言語です。誰か教えてください。
あられ数というものがあります。次のルールに従って次の数が決まっていく
数列のことです。
1. はじめに勝手に数を与えます。
2. その数が偶数なら2で割り、奇数なら3倍して1を足すことによって次の
 数を決めます。
3. 新たに決まった数に対して、2を繰り返します。
たとえば、はじめに、7を選んだとしましょう。これは奇数ですから次の
数は7×3+1=22。22は偶数だから2で割って11。11は奇数だから3倍して1を足して34。これを順々に続けていくと
7,22,11,34,17,52,26,13,40,
20,10,5,16,8,4,2,1,4,2,1、・・・
と、最後に4,2,1を繰り返すようになります。途中の数は大きく
なったり小さくなったりと、雲の中で成長する霰(あられ)のように
振舞うので、霰数という名前がついています。
課題1:整数を入力すれば、あられ数を順々に計算して表示するプログラム
  を作りなさい。このとき、あられ数に1が出てきたら、プログラムは終了するようにしなさい。
課題2:あられ数が1に落ち着くまでに何ステップかかるのかを表示するプロ
  グラムを作成しなさい。(7の例だと16ステップで1になっています。)
課題3:3〜30に対するあられ数のステップ数を表示するプログラムを作
  成しなさい。

ifとかdo〜whileとか色々使ってみましたが、うまくいきませんでした、誰か教えてください。
0114デフォルトの名無しさんNGNG
>>113
> ifとかdo〜whileとか色々使ってみましたが、うまくいきませんでした、誰か教えてください。
どこまでやってみたんだ。できたとこまで貼ってみろ。
0115デフォルトの名無しさんNGNG
for (i=1; n!=0; i++) {
printf("%d %d\n", i, n);
if (n%2) n/=2;
else n = 3*n + 1;
}
01164NGNG
voidarare()
{
unsigned int value;
unsigned char count_1;
unsigned char count_2;

//valueにどうにかして数字を入れておく

count_1 = 0;
count_2 = 0;
while(value != 1){
count_1++;
if((value >= 3) && (value <= 30)){
count_2++;
}
if(!(value % 2)){
value /= 2;
}
else{
value = value * 3 + 1;
}
//ここでvalueを表示
}
//ここでcount_1を表示(ステップ数)
//ここでcount_2を表示(3〜30までのステップ数)
}
01174NGNG
voidarare()
{
unsigned int value;
unsigned char count_1;
unsigned char count_2;

//valueにどうにかして数字を入れておく

count_1 = 0;
count_2 = 0;
while(value != 1){
count_1++;
if((value >= 3) && (value <= 30)){
count_2++;
}
if(!(value % 2)){
value /= 2;
}
else{
value = value * 3 + 1;
}
//ここでvalueを表示
}
//ここでcount_1を表示(ステップ数)
//ここでcount_2を表示(3〜30までのステップ数)
}
01184NGNG
タブもうまくいってないし、2重カキコしてしまってスマソ。
0119デフォルトの名無しさんNGNG
for (i=3; i<30; i++) {
for (j=0, k=i; k != 1; j++)
k = arare(k);
printf("%d %d", i, j);
}
0120デフォルトの名無しさんNGNG
>>116-118
なんで課題3からやってんだ。
0121文系一年生(113)NGNG
課題1
#include <stdio.h>

main()
{
int i,j;
do
{
scanf("%d",&i);
if(i%2)
{
j=i*2;
}else
{
j=i*3+1;
}while(1!)

}

この辺までしか分かりませんでした。
0122文系一年生(113)NGNG
課題1
#include <stdio.h>

main()
{
int i,j;
do
{
scanf("%d",&i);
if(i%2)
{
j=i*2;
}else
{
j=i*3+1;
}while(i!=1);

}

この辺までしか分かりませんでした。
0123デフォルトの名無しさんNGNG
>>122
ループの中で毎回iを書き換えちゃ意味ないじゃん。
あとインデントしてくれ。
0124デフォルトの名無しさんNGNG
もひとつ、「その数が偶数なら2で割」るんだろ?
0125文系一年生(113)NGNG
>>122-123
はい、*と/を間違えました。

インデントって何ですか?
0126デフォルトの名無しさんNGNG
字下げ。ブロックの中の行頭を下げること。

#include <stdio.h>

main()
{
    int i, j;
    do {
        scanf("%d", &i);
        if (i % 2) {
            j = i * 2;
        }
        else {
            j = i * 3 + 1;
        }
        while (i != 1);
    }
}
0127文系一年生(113)NGNG
課題1
#include <stdio.h>

main()
{
int i,j;
do
{
scanf("%d",&i);
if(i%2)
{
j=i/2;
}else
{
j=i*3+1;
}while(i!=1);

}

0128デフォルトの名無しさんNGNG
コンパイル通らないだろ。いや漏れも>126で間違えちゃったけどさ。
それと>123ちゃんと読んだ? あ、あと計算結果毎回捨ててるし。
0129デフォルトの名無しさんNGNG
http://petit.zive.net/rag.txt
0130デフォルトの名無しさんNGNG
課題1
#include<stdio.h>
main()
{
int arare;
scanf("%d",&arare);
while(arare != 1){
if(!(arare%2)) arare/=2;
else arare=arare*3+1;
printf("%d\n",arare);
}
return 0;
}
0131デフォルトの名無しさんNGNG
>>130
scanf()の戻り値をチェックしてないのはともかく、0を与えると無限ループする。
0132デフォルトの名無しさんNGNG
int arare(int n) { return (n%2) ? n/2 : n*3+1; }
//課題1
void main() {
 int n;
 scanf("%d", &n);
 for (; n != 1; n = arare(n))
  printf("%d\n", n);
}
//課題2
void main() {
 int n, i;
 scanf("%d", &n);
 for (i=0; n != 1; i++, n = arare(n))
  printf("%d %d\n", i, n);
}
//課題3
void main() {
 int i, j, n;
 for (i=3; i<=30; i++) {
  for (j=0, n=i; n != 1; j++, n = arare(n))
   ;
  printf("%d %d\n", i, j);
 }
}
0133デフォルトの名無しさんNGNG
課題2って回数だけ表示するんじゃないの?
0134デフォルトの名無しさんNGNG
>>131
そういえば、0以下考慮してなかった。
0135デフォルトの名無しさんNGNG
8クィーン問題で、穴を埋める課題がでました。

まず、col[]は1なら縦列にはクィーンを置けない。
queen[]は行を示している。
up[]が一なら斜めには置けない。
downが1なら斜めには置けない。
0136デフォルトの名無しさんNGNG
まずはクィーンの位置を表示するプログラムです。
#include <stdio.h>

#define N 8

int col[N+1],queen[N+1],up[2*N+1],down[2*N+1];
int num=1;

void queen_n(int i){
int j,k;
if(i>8){
printf("%d\n",num++);
for(j=1;j<=N;j++){
for(k=1;k<=N;k++){
if(queen[j]==k){
printf("Ω");
}
else{
printf("+");
}
}
printf("\n");
}
getchar();
}
0137デフォルトの名無しさんNGNG
136で書いた、位置表示のプログラムはどうでもよく、ポイントは次です。
else{
for(j=1;j<=N;j++){
if(col[j]==0 && up[i+j]==0 && down[i-j+N]==0){
printf("%d",j);
queen[i]=j;
col[j]=1;
up[i+j]=1;
down[i-j+N]=1;
queen_n(i+1);

}
}
}
}
0138135NGNG
queen_n(i+1);の下を埋めよ、という課題です。
3行くらいで大丈夫なようです。

おそらくその行に置けなかったら一個戻る、ようなプログラムだと思うのですが、どうもうまくいきません。
助けてください。
0139135NGNG
ちなみに、これはmain関数です。(一応のせておきます。)
あ・・・言い忘れましたが、C言語です。

int main(void){
int i;

for(i=1;i<=N;i++)
col[i]=0;
for(i=1;i<=2*N;i++){
up[i]=0;
}
queen_n(1);

return 0;
}
0140デフォルトの名無しさんNGNG
>>137
col[j]=0;
up[i+j]=0;
down[i-j+N]=0;
0141デフォルトの名無しさんNGNG
クライアントとサーバのプログラムで、質問です。

クライアント側だけについてです。
2つのクラスを作りました。
1つのクラスにサーバへつなぐために、以下のプログラムを書きました。
public static void main(String args[]) throws IOException{
String host = args[0];
int port = Integer.parseInt(args[1]);
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

Socket server = new Socket(host, port);
BufferedReader from_server =
new BufferedReader(new InputStreamReader(server.getInputStream()));
PrintWriter to_server =
new PrintWriter(server.getOutputStream());

ここで、「他のクラス」からto_serverやfrom_sever、などを呼び出したいのですが、やり方を教えてください。
ようするに、その「他のクラス」からサーバに命令を送ったりしたいのです。
0142デフォルトの名無しさんNGNG
C言語のバブルソートです、そして初心者なんですけど、

#include <stdio.h>

#define NUMBER 6

void main(void)
{
int i,k,a,kai=0;
int data[NUMBER];

/* NUMBER個の値を受け取る */
for (i=0;i<NUMBER;i++)
{
printf("%d番目の値は? :", i+1);
scanf("%d",&data[i]);
}
0143142ですNGNG
/* バブルソート */
for (i=0;i<NUMBER;i++)
{
for (k=0;k<NUMBER;k++)
{
if (data[k]>data[k+1]) {
/* 値を入れ替える */
a=data[k];
data[k]=data[k+1];
data[k+1]=a;
kai=kai+1;  } 
}
}
/*結果の表示 */
printf("並べ替えた結果: ");
for (i=0;i<5;i++){
printf("%d ",data[i]);
}
printf("入れ替えた回数は=%d",kai);
printf("\n");
}


これだと全部を昇順に並べた結果しかでてこないんです。
これをどうにかして擬似乱数(rand関数)を使って、
一回ごとに値を交換した結果を表示したいんですが、
どうしたらいいでしょうか。
1 2 5 4 3
1 2 4 5 3
1 2 4 3 5
1 2 3 4 5 と言った感じでうまくできないでしょうか。お願いいたします。
0144594NGNG
>142
そもそもそのprogramがうまく動かないぞ.
0145142・143NGNG
上の二つコピーしてやったらホントにできませんでしたね。すんませぬっす。
ということで、こっちにちゃんと動作するのを置かせていただいたので、
こちらでお願いいたします。すいませんでした。
http://ime.nu/do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433
の37です。
0146デフォルトの名無しさんNGNG
if (data[k]>data[k+1])
{
/* 値を入れ替える */
a=data[k];
data[k]=data[k+1];
data[k+1]=a;
kai=kai+1;
/*ここでデータ出力*/
}
0147名無しさん@XEmacsNGNG
>これをどうにかして擬似乱数(rand関数)を使って、
>一回ごとに値を交換した結果を表示したいんですが、
意味不明
0148142・143NGNG
146さんどうもです、今からやってみます。

>147さん
さっきのプログラムを実行すると
「1番目の数は…
2番目の数は…」と出てきて、それから自分で値を代入してから
 やっと実行結果が出てくると思うんですが、それを擬似乱数を使って
ランダムにデータを作って勝手に適当な結果が出てくるようにしたいんです。
わかりにくくて申し訳ありませんでしたっす。
 
0149デフォルトの名無しさんNGNG
time_t t;

srand(&time);
だっけ?使うのは。
時間ごとに初期化されるランダム関数。
0150名無しさん@XEmacsNGNG
>>149
いっぺん氏んでこい。
0151デフォルトの名無しさんNGNG
4 階調と16 階調で量子化する際には,X0<X1<X2<X3<X4,
Y0,Y1,Y2,Y3 をどうしたらいいのですか?教えてください。お願いします。
0152デフォルトの名無しさんNGNG
>>148
バブルソートの中に結果の表示を入れる。
015360cm浮き上がるストレートNGNG
>>148
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define TIMES 10
int main(void)
{
 int data[TIMES];
 int a,b,keep;
 srand(time(NULL));
 for(a=0;a<TIMES;a++)
  data[a]=rand();
 for(b=0;b<TIMES-1;b++)
  for(a=0;a<TIMES-1;a++)
   if(data[a]>data[a+1])
   {
    keep=data[a];
    data[a]=data[a+1];
    data[a+1]=keep;
   }
 for(a=0;a<TIMES;a++)
  printf("data[%d]==%d\n",a,data[a]);
 return 0;
}
0154142・143NGNG
147・148さん、非常にありがとうございました。
おかげでなんとか結果と回数を表示することができまた。
148さんのをほとんど使った気もしますけど、感謝してます。

0155デフォルトの名無しさんNGNG
>>151 >>96の「画像を4階調で表示するときの基準の値を自分で計算したので」と
同じように16階調の基準の値を計算すればよいと思うが。

>>96の式を眺める限りでは、こんな感じか?
if (pixcel < base[i]=256/n*i) modified = 256/(n-1)*(i-1)

ていうか、出された課題をもっと正確に書き込め。何を聞きたいのかさっぱりなので、
みんなも宿題手伝いようがない。
0156デフォルトの名無しさんNGNG
説明不十分でゴメンナサイ。初めに2値化のプログラムがあってそれを変更して4値化にして、
その結果が何故正しいか数例を具体的数値とともに調べるという課題で、下のプログラムのように変更したのですが、
数例を具体的数値とともに調べるというのがわかりません。

画像表示に関してですが、   
     int i, j;
int base1 = 64; //
 int base2 = 128; //
  int base3 = 192;

2値画像に変換するプログラムのbaseの部分を上のように変えて、
画像を4値化するときの色を分ける基準となる値を決めて、条件部分を
if (pixcell[i][j] < base1) modified[i][j] = 0;
else if (pixcell[i][j] < base2) modified[i][j] = 86;
else if (pixcell[i][j] < base3) modified[i][j] = 172;
else modified[i][j] = 255;
0157蘇えった149NGNG
time_t t;

srand(&t);
0158デフォルトの名無しさんNGNG
>>157
もういっぺん氏んでこい。
0159デフォルトの名無しさんNGNG
二つのディレクトリの中に同じ名前のファイルがあるか
どうかを調べなければいけないのですが、うまくいかないです・・。
たとえばディレクトリ1に file1, file2, file3 が入っていて、
ディレクトリ2に file2, file3, file4 が入っていたら、
file2 file3 のように出力したいのですが・・。
0160159NGNG
あっ。すいません。。普通に書き忘れました。言語はCです。
0161159NGNG
たびたびすいません。
ディレクトリの中はファイルだけと仮定してOKみたいです。
0162デフォルトの名無しさんNGNG
一つのディレクトリに入っているファイル名を取得するところまでは
できた?
0163デフォルトの名無しさんNGNG
あ。レスありがとうございます。
はい。ひとつの時はできたんですよ。
たとえば、このディレクトリにこのファイルはあるか?
というのはできたんです。しかしディレクトリごとの
比較になると頭が錯乱してきてしまって・・
0164デフォルトの名無しさんNGNG
>>159 に質問。
char *d1[]={"file1","file2","file3",};
char *d2[]={"file2","file3","file4",};
このd1とd2から同じ文字列を見つけ出すプログラムは作れるか?
0165159NGNG
>>164

ループの中にもういっこループをいれて
9通り比較すればいいんですよね??
0166名無しさん@XEmacsNGNG
1つ目のディレクトリに入っているファイル名をハッシュテーブルに入れる。
2つ目のディレクトリに入っているファイル名についてmemberを実行して重複があれば表示。
0167デフォルトの名無しさんNGNG
>>159に質問。
取得したファイル名をテーブルに保存する事は出来るか?
0168デフォルトの名無しさんNGNG
テーブル?ハッシュテーブル?ですか?
いや、ちょっとわかんないっす。
検索逝ってきます。レスありがとうございました。
0169デフォルトの名無しさんNGNG
>>168
名前を辞書順にソートしておけば、
ハッシュを使わなくても、O(n)でできるぞ。
ソートに時間がかかるとだめだけどな。
0170デフォルトの名無しさんNGNG
>>156
その課題が出された経緯を知らないから、
「結果が何故正しいか数例を具体的数値とともに調べる」
ていうのはわからんよ。
たぶん、2値化のときに、それをやっていると思うんだけど。

あてずっぽうでいいなら、
グラデーション画像を突っ込んでみるとか、
pixcell[i][j]に適当な値を入れてみて、それが期待した値になるか試すとか。
0171デフォルトの名無しさんNGNG
C言語なんですけど、ある文字の文字コードの順序を逆にして別の文字を表示させたいんですけど
(例えば a(10進で97)を O(10進で79)としたい。100未満までで...)
いい方法、というか、やり方がまったく思いつきません。
何かいい方法をご教授願えませんか?
わかりにくい文章ですみません。
0172DNGNG
>>171
int a;
a=97 / 10;
printf("%d",(97 % 10)*10+a);
急いでるからこれでかんべん!
0173DNGNG
あ、文字ね制御コードに引っかかるから無理!
017460cm浮き上がるストレートNGNG
>>171
こんな感じですか?
#include <stdio.h>
int main(void)
{
 char c;
 puts("1文字を入力してください");
 c=getchar();
 if(a>-1&&a<100) printf("%c\n",c/10+c%10*10);
 else puts("範囲外です");
 return 0;
}
0175デフォルトの名無しさんNGNG
>>171

#include <stdio.h>
main()
{
int a, b;
printf("100未満の自然数を入力してください。\n");
printf("1桁の場合は「0 + スペース + その数」\n");
printf("2桁の場合は「10の位の数 + スペース + 1の位の数」\n");
printf("例 4 −> 「0 4」、 84 −> 「8 4」\n");
scanf("%d%d", &a, &b);
printf("%d%d", b, a);

return 0;
}
0176初心者NGNG
VC++のダイアログベースで作成しています。ファイルをコピーするアプリケーシ
ョンでコピー元コピー先をファイルダイアログボックスで表示させ指定し、スタ
ティックテキストにファイルまでのパスを表示するというものです。そして、ボ
タンがありクリックすると、ファイルのコピーを開始します。但し、以下の場合
はメッセージボックスを表示します。

1.コピー元ファイル名が指定されていない。
2.指定のコピー元ファイルが存在しない。
3.コピー先ファイル名が指定されていない。
0177初心者NGNG
4.コピー先ファイルが既に存在する。
4の場合は、問い合わせメッセージの表示とし
ユーザが上書きOKを選択した場合のみ、
コピー実行されるようにする。

です。よろしくお願いします。
0178初心者NGNG
追記:一応パスがでる所まで頑張りましたが保存先の所で上書き警告がでます。
0179名無しさんに接続中…NGNG
このスレってfortranの宿題も手伝ってもらえますか?
0180デフォルトの名無しさんNGNG
>>179
もしかしたらこっちで聞いた方がいいかもしれん。
http://pc3.2ch.net/test/read.cgi/tech/1003214738/
0181デフォルトの名無しさんNGNG
テキストファイルを読み込んでその中にある単語の出現回数を計算する
プログラムが宿題ででました。
CかC++で作るのですがさっぱりわかりません。どなたかよろしくお願いします。
0182デフォルトの名無しさんNGNG
hashにたたきこんどけ
0183デフォルトの名無しさんNGNG
#include <ctype.h>
#include <stdio.h>

#define MAXLINE 80

int main(int argc, char *argv[])
{
FILE *fi;
int ichar;

if (argc !=2){
fprintf(stderr,"引数ちがうで。やりかたは,example8_2 ファイル名 \n");
return -1;
}

/*読みだしもとのファイル開く*/
if ((fi = fopen(argv[1], "rb")) == NULL){
fprintf(stderr,"Cannot open input faile.\n");
exit(1);
}

while((ichar = fgetc(fi)) != EOF){/*一文字ずつ大文字に変換*/
fputc(toupper(ichar),stdout);
}
fclose(fi);
/*ファイルを閉じます*/
return 0;
}


0184デフォルトの名無しさんNGNG
>>183のプログラム(全部大文字で出力するもの)を改良して、
名前の名字だけ大文字で出力するプログラムをつくれ、
って話なんだけど・・・無理です。

どうやって名前の名字だけ区別するの?さっぱりわかりません。
よろしくお願いします。

example8_2は気にしないでください。

例

hanako YAMADA
oniroku DAN
takeru YAMADA


0185184NGNG
あっ・・・C言語です。
しかもウインドーズじゃなくて・・・・なんなのかわからない・・・

SOLARIS?
MICROSYSTEMS?
JAVA?
0186バンテリソ ◆KowaFeeTtA NGNG
最初小文字で、スペース出力後は大文字、改行出力後は小文字に。
じゃ駄目なのかな?
0187デフォルトの名無しさんNGNG
>>186
レスどうもです。
友だちとそれも考えたのですが・・・うまく行かないのです。
それでできるといいんですけど・・。
0188名無しさん@XEmacsNGNG
うまく逝かないのはあんたのプログラムミスじゃないの?
0189デフォルトの名無しさんNGNG
>>185

#include <stdio.h>
#include <ctype.h>

#define MAXLINE 80

int main(int argc, char * argv[]){
FILE *fi;
int ichar,a = 1;

if (argc != 2){
fprintf(stderr,"引数の種類が違うよ。使用方法: a.out ファイル名 \n");
return -1;
}
if ((fi = fopen(argv[1],"rb")) == NULL ){
fprintf(stderr ,"Cannt open intput file.\n");
exit(1);
}

while ((ichar= fgetc(fi)) != EOF){ /*一文字ずつ読む*/
if (ichar == ' ')a=0;
else if (ichar == '\n')a=1;
if (a == 0)fputc(toupper(ichar), stdout);
else fputc(ichar, stdout);
}
fclose(fi);

return 0;
}
0190189NGNG
まえに同じのやってるよ・・・・
でも挿入文は自分で適当に変えてね
0191187NGNG
なんとか成功しそうです。わからなくなったらまた来ます。
ありがとうございます。

0192187NGNG
なぜか全部大文字出力してしまいます・・・
コンパイルは通るんですが・・・・どこか間違ってるんでしょうか?
0193bloomNGNG

http://www.agemasukudasai.com/bloom/
0194バンテリソ ◆KowaFeeTtA NGNG
両方でtoupperと予想(w
0195187NGNG
もうだめぽ
0196187NGNG
できた・・・・読みだ下とのファイルの作り方間違ってた・・・
協力していただいた方、ありがとうございます。

0197超初心者NGNG
>176 の者です。本当にどなたか親切な方教えてください。私の悪いところ
があったら直します。
0198デフォルトの名無しさんNGNG
>>197
作ったもん見せれば誰かなんか教えてくれるかもしれん。
長ければこっちへ。
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
0199超初心者NGNG
ありがとうございます。
ご指示の掲示板へソースを貼り付けました。
皆さんよろしくお願いします。
0200デフォルトの名無しさんNGNG
>>199
どれだよ。
0201超初心者NGNG
>>200 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=38
です。
■ このスレッドは過去ログ倉庫に格納されています