No.5161

°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×
Åê¹Æ¼Ô---hide(2003/02/14 10:50:23)


¥ï¡¼¥¯¥Õ¥¡¥¤¥ë¤«¤éÆÉ¤ß¹þ¤ó¤ÀÃͤǹàÌܤ¬"aaa","bbb","ccc","ddd","eee"¤Î5¹àÌܤ¬¤¢¤ê¤½¤Î¤¦¤Á"eee"¤¬¶â³Û¤È¤·¤Þ¤¹¡£
¤³¤Î¤È¤­¤Ë"aaa"¤«¤é"ddd"¤Þ¤Ç¤¬°ìÃפ¹¤ë¹Ô¤Ç¶â³Û("eee")¤Î½¸·×¤ò¤·¡¢Ê̤Υ¥¯¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤·¤ò¤¹¤ëÁàºî¤ò¤·¤¿¤¤¤Î¤Ç¤¹¤¬¤É¤ó¤Ê½ñ¤­Êý¤ò¤¹¤ë¤È¤¤¤¤¤Ç¤¹¤«?µ­½ÒÊýË¡¤ò¶µ¤¨¤Æ¤¤¤¿¤À¤±¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£
¼«Ê¬¤Çºî¤ì¤¿¤Î¤Ï²¼¤Î¤è¤¦¤Ê¤È¤³¤í¤Þ¤Ç¤Ç¤½¤ì°Ê¹ß¤¬¤ï¤«¤é¤º¼ê¤¬¤Ä¤«¤Ê¤¤¤È¤³¤í¤Ç¤¹¡£¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
/*test.h*/

/*********************************
*¡ã¥½¡¼¥È¥ï¡¼¥¯ÆþÎÏ¡äÍÑ ¹½Â¤ÂÎ *
*********************************/
typedef struct t_insortwk {
char aaa[10];
char bbb[10];
char ccc[3];
char ddd[16];
char eee[15];
¡¡¡¡char cr_return[2];/*²þ¹Ô*/

} T_INSORTWK;

/*********************************
*¡ã¥½¡¼¥È¥ï¡¼¥¯½ÐÎÏ¡äÍÑ ¹½Â¤ÂÎ *
*********************************/
typedef struct t_outsortwk {
char aaa[10];
char bbb[10];
char ccc[3];
char ddd[16];
char eee[15];
¡¡¡¡char cr_return[2];/*²þ¹Ô*/
} T_OUTSORTWK;

/*test1.c*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "test1.h"

int main(void)
{
FILE *fp;
FILE *fpo;
T_INSORTWK inwk;

T_OUTSORTWK outwk;
int i = 0;
if((fp = fopen("work3","r"))==NULL){
printf("¥Õ¥¡¥¤¥ë¤ò³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó\n");
exit(EXIT_FAILURE);
}

while(i==0){

if(fgets(inwk.aaa,10,fp)==NULL)break;
if(fgets(inwk.bbb,10,fp)==NULL)break;
if(fgets(inwk.ccc,3,fp)==NULL)break;
if(fgets(inwk.ddd,16,fp)==NULL)break;
if(fgets(inwk.eee,15,fp)==NULL)break;/*¶â³Û*/
if(fgets(inwk.cr_return,2,fp)==NULL)break;

if((fp = fopen("work4","w"))==NULL){
printf("¥Õ¥¡¥¤¥ë¤ò³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó\n");
exit(EXIT_FAILURE);
}
.
.
.


No.5166

Re:°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×
Åê¹Æ¼Ô---ÀãÇ­(2003/02/14 13:15:07)


¤³¤ó¤Ë¤Á¤ï¡¡ÀãÇ­¤Ç¤¹¢ö
»Å»ö¤¬Ë»¤·¤¯¤Æ¤â¤³¤³¤Ï·ç¤«¤µ¤º¸«¤Æ¤¤¤¿¤ê¤·¤Þ¤¹¡Ê¡°¡°¡¨¡Ë

¤Á¤ç¤Ã¤Èµ¿Ìä¤Ë»×¤Ã¤¿¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¤Î¤Ç¼ÁÌä¤Ç¤§¡Á¤¹¡ù

>¤³¤Î¤È¤­¤Ë"aaa"¤«¤é"ddd"¤Þ¤Ç¤¬°ìÃפ¹¤ë¹Ô¤Ç¶â³Û("eee")¤Î½¸·×¤ò¤·¡¦¡¦¡¦
¤³¤Î¡¢¡Ö°ìÃפ¹¤ë¹Ô¡×¤Ã¤È¤¢¤ê¤Þ¤¹¤¬¡¢¤Ê¤Ë¤È°ìÃפµ¤»¤ë¤ó¤Ç¤·¤ç¤¦¡©¡©¡©
ͽ¤áÆþÎϤ·¤Æ¤¢¤ë¹àÌÜ¡©¡¡·×»»»þ¤Ë¼èÆÀ¤¹¤ë¹àÌÜ¡©
¤½¤ì¤È¤â¡¢ÊÌ¥Õ¥¡¥¤¥ë¤¬¤¢¤Ã¤Æ¡¢¤½¤³¤«¤é¤µ¤é¤Ë¸Æ¤Ó½Ð¤·¤·¤¿¹àÌÜ¡©

>Ê̤Υ¥¯¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤·¤ò¤¹¤ëÁàºî
¤Ê¤ó¤Î¹àÌܤò½ñ¤­½Ð¤¹¤Î¤Ç¤·¤ç¤¦¡©¡¡·×»»¤·¤¿·ë²Ì¤À¤±¡©

°Ê¾å¤Ç¤Ã¤¹m(__)mŽÍŽßŽºŽØ
¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú¡ù¡ú

No.5167

Re:°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×
Åê¹Æ¼Ô---hide(2003/02/14 14:07:39)


¼ÁÌ䤢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£

>>¤³¤Î¤È¤­¤Ë"aaa"¤«¤é"ddd"¤Þ¤Ç¤¬°ìÃפ¹¤ë¹Ô¤Ç¶â³Û("eee")¤Î½¸·×¤ò¤·¡¦¡¦¡¦
aaa=aaa&bbb=bbb&ccc=ccc&ddd=ddd¤È¤¤¤¦¤è¤¦¤Ê´¶¤¸¤Ç¤¹¡£
ʸ¾Ï¤À¤È¤ï¤«¤ê¤Ë¤¯¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬
¼èÆÀ¤¹¤ë¥ï¡¼¥¯¥Õ¥¡¥¤¥ë¤Î¥¤¥á¡¼¥¸¤Ï
5¹àÌܹԤ¬°ìÎó¤Ë¤½¤ì¤¾¤ì·å¿ôʬ¤Ê¤é¤ó¤Ç¤ª¤ê¤½¤Î¸å¤í¤Ë²þ¹Ô¤¬Æþ¤ê¤Þ¤¹¡£
¤½¤Î¹Ô¤¬²¿¹Ô¤â¤¢¤ê("_"¤Ï¶õÇò°ìʸ»ú¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£
¢­¤Ï²þ¹Ô("\n")¤Î¤Ä¤â¤ê¤Ç¤¹)

/*ÆÉ¼è¥Õ¥¡¥¤¥ë*/
aaa...(10·åʬ)bbb...(10·åʬ)ccc(3·åʬ)ddd...(16·åʬ)eee...(15·åʬ)¢­
111_______222_______33_444_____________123____________¢­ ޥޥޥ­¡
111_______222_______33_444_____________321____________¢­ ޥޥޥ­¢
112_______223_______33_444_____________123____________¢­ ޥޥޥ­£

­¡¤È­¢¤Î¹Ô¤Ï"aaa"¤«¤é"ddd"¤Þ¤Ç¤¬°ìÃפ·¤Æ¤ë¤Î¤Ç½¸·×¤·¤Æeee¤Ï444¡£
»Ä¤ê­£¤Ï¾¤Î¹Ô¤È°Û¤Ê¤ë¤¿¤á¤½¤Î¤Þ¤Þ¤Ç¤¹¡£
·ë²Ì½ñ¤­¹þ¤ß¥Õ¥¡¥¤¥ë¤Ë¤Ï²¼µ­¤Î¤è¤¦¤Ë2¹Ô¤Ë¤Ê¤Ã¤Æ½ÐÎϤµ¤ì¤Þ¤¹¡£

/*½ñ¤­¹þ¤ß¥Õ¥¡¥¤¥ë*/
aaa...(10·åʬ)bbb...(10·åʬ)ccc(3·åʬ)ddd...(16·åʬ)eee...(15·åʬ)¢­
111_______222_______33_444_____________444____________¢­ ޥޥޥ­¤
112_______223_______33_444_____________123____________¢­ ޥޥޥ­¥

¤Ê¤ó¤È¤«ÀâÌÀ¤Ë¤Ê¤Ã¤¿¤Ç¤·¤ç¤¦¤«?
¤Þ¤¿¼ÁÌ䤬¤¢¤ì¤Ð¤ª´ê¤¤¤·¤Þ¤¹¡£







No.5171

Re:°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×
Åê¹Æ¼Ô---hide(2003/02/14 15:21:15)


>Îã¤È¤·¤Æ¤Ïccc¤Î3·å¤ÎÉôʬ¤Ë2·å¤·¤«Æþ¤Ã¤Æ¤¤¤Ê¤¤Êª¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¤¬¤â¤·
>3·å¤Î¿ô»ú¤¬Æþ¤ë¤È...
¤Ä¤Ê¤¬¤ê¤Þ¤¹¡£
¤è¤Ã¤Æ²þ¹Ô¤¬¤¢¤ë¤³¤È¤Ç²þ¹Ôʸ»ú¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤ì¤ë¥Æ¥­¥¹¥È´Ø¿ôfgets¤ò
»È¤Ã¤ÆÆÉ¤ß¤³¤ó¤Ç¤¤¤Þ¤¹¡£

¥½¡¼¥È¤µ¤ì¤¿¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤òÆÉ¤à¤Î¤Ç
¤ª¤½¤é¤¯°ìÃפ¹¤ë¹Ô¤Ï³¤¤¤Æ¤ë¤È»×¤ï¤ì¤Þ¤¹¡£

¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£

No.5182

Re:°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×
Åê¹Æ¼Ô---¤«¤º¤Þ(2003/02/15 15:30:52)


> ¥½¡¼¥È¤µ¤ì¤¿¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤òÆÉ¤à¤Î¤Ç
> ¤ª¤½¤é¤¯°ìÃפ¹¤ë¹Ô¤Ï³¤¤¤Æ¤ë¤È»×¤ï¤ì¤Þ¤¹¡£

¤½¤ì¤Ê¤é¡¢´Êñ¡£
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define WIDTH  (10 + 10 + 3 + 16)

void proc(FILE *fin, FILE *fout)
{
    char buf[256], prev[WIDTH];  int val = 0;

    prev[0] = '\0';
    while (fgets(buf, sizeof buf, fin))
        if (memcmp(buf, prev, WIDTH) == 0)
            val += atoi(buf + WIDTH);
        else {
            if (prev[0])
                fprintf(fout, "%.*s%-16d\n", WIDTH, prev, val);
            memcpy(prev, buf, WIDTH);
            val = atoi(buf + WIDTH);
        }
    if (prev[0])
        fprintf(fout, "%.*s%-16d\n", WIDTH, prev, val);
}

int main(void)
{
    proc(stdin, stdout);
    return 0;
}


No.5194

Re:°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×
Åê¹Æ¼Ô---¤«¤º¤Þ(2003/02/15 19:31:31)


> /*ÆÉ¼è¥Õ¥¡¥¤¥ë*/
> aaa...(10·åʬ)bbb...(10·åʬ)ccc(3·åʬ)ddd...(16·åʬ)eee...(15·åʬ)¢­

eee ¤Ï 15·å¤À¤Ã¤¿¤ó¤Ç¤¹¤Í¡£
2¤Ä¤Î fprintf ¤ÎÃæ¤Î "%-16d" ¤ò "%-15d" ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

No.5169

Re:°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×
Åê¹Æ¼Ô---ÀãÇ­(2003/02/14 14:54:58)


¤ªÃë¤Î̲¤¿¤¤»þ´Ö¤¤¤«¤¬¤ª²á¤´¤·¤Ç¤·¤ç¤¦¤«¡©¡¡ÀãÇ­¤Ç¤¹¢ö

ÆÉ¤ß¹þ¤ß¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¡¢¤½¤ì¤¾¤ì¤Î¹àÌܤ¬Æ±¤¸¤Ê¤é¶â³Û¹àÌܤò²Ã»»¤·¤Æ¡¢
½ÐÎϤ¹¤ë¤Ã¤Æ´¶¤¸¤Ç¤¹¤Í¢ö

¤ó¡Á¤È¡¢¥Õ¥¡¥¤¥ë¤«¤é¹àÌܤò¼èÆÀ¤¹¤ë»þ¡¢
£±¹Ô¤´¤È¤Ë¼èÆÀ¤·¤Æ¡¢¤½¤ì¤ò¹àÌܤ´¤È¤Ëʬ³ä¤·¤¿¤Û¤¦¤¬¤è¤í¤·¤¤¤Î¤Ç¤Ï
¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©
¹½Â¤ÂΤÎÃæ¤Î¡¢²þ¹Ô¥³¡¼¥É¤ÎÊݸ¤¬¤¤¤Þ¤¤¤ÁÍý²ò¤Ç¤­¤Ê¤¯¤Æ¡¦¡¦¡¦¡Ê¡ä¡ã¡¨

»ä¤Ê¤é¡¢£±¹Ô¼èÆÀ¡¡¤½¤ì¤ò¹àÌܤ´¤È¤Ëʬ³ä¤·¤Æ£±¼¡ÂàÈò¡¢¼¡¤Î¹Ô¤òÆÉ¤ß¹þ¤ß¡¢
Ʊ¤¸¤è¤¦¤Ëʬ³ä¡¡¤½¤ì¤òÂàÈò¤·¤Æ¤¤¤¿Á°¤Î¹àÌܤȾȤ餷¹ç¤ï¤»¡¢Æ±¤¸¤À¤Ã¤¿¤é¤Ð
¶â³Û¤Î¹àÌܤò²Ã»»¡¡¡¦¡¦¡¦¤Ã¤È¤¤¤¦É÷¤Ëʸ¾Ï¤Ç½ñ¤¤¤Æ¤«¤é¿Ê¤á¤Æ¤¤¤Þ¤¹¢ö
¤½¤¦¤¹¤ë¤È¡¢²¿¤¬¤ï¤«¤é¤Ê¤¤¤Î¤«°ìÌÜÎÆÁ³¤Ç¤¹¤¥¡Á

¤½¤ì¤Ç¡¢¤³¤ì¤Ã¤ÆÎ㤨¤Ð¡¢£±¹ÔÌܤȣ¹£¹£¹£¹£¹£¹¹ÔÌܤ¬Æ±¤¸¤Ã¤Æ¾ì¹ç¤â¤¢¤ê¤¨¤ë¤Î¤Ç¤·¤ç¤«¡©¡¡£±¹ÔÌܤȣ²¹ÔÌܤιàÌܤ¬°ã¤¦¤Ê¤é¤Ð£±¹ÔÌÜ¤ÈÆ±¤¸Êª¤Ï¤Ê¤¤¡ª¡ª
¤Ã¤ÈÃǸÀ¤Ç¤­¤Ê¤¤¤È¥×¥í¥°¥é¥à¤â¤Þ¤¿Ê̤ˤʤë¤Î¤«¤Ê¤¡¤Ã¤È»×¤Ã¤¿¤ê¤·¤Æ¤Þ¤¹¢ö

¤Ç¤ï¡¢¤¬¤ó¤Ð¤Ã¤Æ¥×¥í¥°¥é¥àºî¤Ã¤Æ¤¯¤À¤µ¤¤¤Í¢ö

No.5172

Re:°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×
Åê¹Æ¼Ô---hide(2003/02/14 15:30:40)


>¤ªÃë¤Î̲¤¿¤¤»þ´Ö¤¤¤«¤¬¤ª²á¤´¤·¤Ç¤·¤ç¤¦¤«¡©¡¡ÀãÇ­¤Ç¤¹¢ö
»Å»ö¤¬¤¹¤¹¤Þ¤ºÌ²µ¤¤¬¤Ç¤Ê¤¯¤Æ½õ¤«¤Ã¤Æ¤Þ¤¹...

>ÆÉ¤ß¹þ¤ß¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¡¢¤½¤ì¤¾¤ì¤Î¹àÌܤ¬Æ±¤¸¤Ê¤é¶â³Û¹àÌܤò²Ã»»¤·¤Æ¡¢
>½ÐÎϤ¹¤ë¤Ã¤Æ´¶¤¸¤Ç¤¹¤Í¢ö
¤Ï¤¤
>¤ó¡Á¤È¡¢¥Õ¥¡¥¤¥ë¤«¤é¹àÌܤò¼èÆÀ¤¹¤ë»þ¡¢
>£±¹Ô¤´¤È¤Ë¼èÆÀ¤·¤Æ¡¢¤½¤ì¤ò¹àÌܤ´¤È¤Ëʬ³ä¤·¤¿¤Û¤¦¤¬¤è¤í¤·¤¤¤Î¤Ç¤Ï...
>¹½Â¤ÂΤÎÃæ¤Î¡¢²þ¹Ô¥³¡¼¥É¤ÎÊݸ¤¬¤¤¤Þ¤¤¤ÁÍý²ò¤Ç¤­¤Ê¤¯¤Æ¡¦¡¦¡¦¡Ê¡ä¡ã¡¨
²þ¹Ô¤Ë¤è¤Ã¤Æ°ì¹Ôʬ¤Ç¤¢¤ë¤³¤È¤òȽÃǤµ¤»¤ë¤è¤¦¤Ç¤¹¡£
¥Æ¥­¥¹¥È´Ø¿ôfgets´Ø¿ô¤¬¤½¤ì¤Ë¤¢¤¿¤ê¤Þ¤¹¡£

>»ä¤Ê¤é¡¢£±¹Ô¼èÆÀ¡¡¤½¤ì¤ò¹àÌܤ´¤È¤Ëʬ³ä¤·¤Æ£±¼¡ÂàÈò¡¢¼¡¤Î¹Ô¤òÆÉ¤ß¹þ¤ß¡¢
>Ʊ¤¸¤è¤¦¤Ëʬ³ä¡¡¤½¤ì¤òÂàÈò¤·¤Æ¤¤¤¿Á°¤Î¹àÌܤȾȤ餷¹ç¤ï¤»¡¢Æ±¤¸¤À¤Ã¤¿¤é¤Ð
>¶â³Û¤Î¹àÌܤò²Ã»»¡¡¡¦¡¦¡¦¤Ã¤È¤¤¤¦É÷¤Ëʸ¾Ï¤Ç½ñ¤¤¤Æ¤«¤é¿Ê¤á¤Æ¤¤¤Þ¤¹¢ö
>¤½¤¦¤¹¤ë¤È¡¢²¿¤¬¤ï¤«¤é¤Ê¤¤¤Î¤«°ìÌÜÎÆÁ³¤Ç¤¹¤¥¡Á
¤½¤¦¤¤¤¦½ñ¤­Êý¤â¤¢¤ë¤ó¤Ç¤¹¤Í¡£
¹Í¤¨¤Æ¤ß¤Þ¤¹¡£
>¤½¤ì¤Ç¡¢¤³¤ì¤Ã¤ÆÎ㤨¤Ð¡¢£±¹ÔÌܤȣ¹£¹£¹£¹£¹£¹¹ÔÌܤ¬Æ±¤¸¤Ã¤Æ¾ì¹ç¤â¤¢¤ê¤¨¤ë>¤Î¤Ç¤·¤ç¤«¡©¡¡£±¹ÔÌܤȣ²¹ÔÌܤιàÌܤ¬°ã¤¦¤Ê¤é¤Ð£±¹ÔÌÜ¤ÈÆ±¤¸Êª¤Ï¤Ê¤¤¡ª¡ª
>¤Ã¤ÈÃǸÀ¤Ç¤­¤Ê¤¤¤È¥×¥í¥°¥é¥à¤â¤Þ¤¿Ê̤ˤʤë¤Î¤«¤Ê¤¡¤Ã¤È»×¤Ã¤¿¤ê¤·¤Æ¤Þ¤¹¢ö
°ì±þ¡¢¥½¡¼¥È¤µ¤ì¤¿¤â¤Î¤òÆÉ¤à¤Î¤Ç¤³¤Î¾ì¹ç¤Ï¤Ê¤¤¤È»×¤Ã¤ÆÂç¾æÉפÀ¤È»×¤¤¤Þ¤¹¤¬ÃǸÀ!¤È¤Þ¤Ç¤Ïޥޥޥ
>¤Ç¤ï¡¢¤¬¤ó¤Ð¤Ã¤Æ¥×¥í¥°¥é¥àºî¤Ã¤Æ¤¯¤À¤µ¤¤¤Í¢ö
¤Ï¤¤¡£

No.5173

Re:°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×
Åê¹Æ¼Ô---ÀãÇ­(2003/02/14 15:54:23)


¤¿¤á¤·¤Ë¡¢£±¹Ô¼èÆÀ¤·¤Æ¡¢¤½¤ì¤òʬ³ä¤·¤ÆÊݸ¤¹¤ë¤È¤³¤Þ¤Ç¢ö

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct buffer{
	char a[11];
	char b[11];
	char c[4]; 
	char d[17]; 
	char e[16];
}; 

int main(void)
{
	FILE *fp;
	struct buffer buff;
	char wk[100];

	if((fp = fopen("work.txt","r"))==NULL){
		printf("¥Õ¥¡¥¤¥ë¤ò³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó\n");
		return 0;
	}

	while (fgets(wk, 256, fp) != NULL) {
		printf("%s", wk);
		strncpy(buff.a,wk,10);
		strncpy(buff.b,wk+10,10);
		strncpy(buff.c,wk+20,3);
		strncpy(buff.d,wk+23,16);
		strncpy(buff.e,wk+39,15);

		buff.a[10] = '\0';
		buff.b[10] = '\0';
		buff.c[3] = '\0';
		buff.d[16] = '\0';
		buff.e[15] = '\0';
	}
	fclose(fp);
	return 0;
}


¤³¡Á¤ó¤Ê´¶¤¸¤Ç¤Ç¤­¤ë¤Î¤«¤Ê¡©
¤Ã¤È¤¤¤¦¤«¡¢hide¤µ¤ó¤¬ºî¤í¤¦¤È¤·¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤È»÷¤¿¥×¥í¥°¥é¥à
ºî¤Ã¤¿¤³¤È¤¢¤ë¤ó¤Ç¤¹¤±¤É¡¦¡¦¡¦Ëº¤ì¤Á¤ã¤¤¤Þ¤·¤¿¡¡¤¨¤Ø¤Ã¡ú¥ß

No.5177

Re:°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×
Åê¹Æ¼Ô---hide(2003/02/14 16:43:56)


¥µ¥ó¥×¥ë¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
¤µ¤Ã¤½¤¯»²¹Í¤Ë¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹¡£

»Å»ö¤¬¤ó¤Ð¤Ã¤Æ¤¯¤À¤µ¤¤¡£


No.5181

Re:°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×
Åê¹Æ¼Ô---¥«¥ó¥Ê(2003/02/15 09:59:49)
http://hana.sakura.ne.jp/~elfin/k/


¡¡¤³¤ó¤Ê´¶¤¸¤Ç¤É¤¦¤Ç¤·¤ç¤¦¡©
¡¡ÆþÎϥǡ¼¥¿¤ÏÀµ¤·¤¤¤â¤Î¤È²¾Äꤷ¤Æ¤¤¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ïfgets¤Î
Á°¸å¤Ç¤½¤ì¤Ê¤ê¤Î½èÍý¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡»ä¤â»Å»ö¤Ç»÷¤¿¤è¤¦¤Ê¤Î¤òÁȤó¤À¤³¤È¤¬¤¢¤ê¤Þ¤¹¡ÊCOBOL¤Ç¤Ç¤¹¤¬¡Ë¡£
¤½¤Î¤È¤­¤Î¤Ï¤³¤³¤Ç¤¤¤¦¤Ê¤éaaa¤¬°ìÃס¢aaa¡¦bbb¤¬°ìÃס¢aaa¡Áccc¤¬°ìÃס¢
aaa¡Áddd¤¬°ìÃפΣ´Ãʳ¬¤Î½¸·×·ë²Ì¤ò½ñ¤­½Ð¤¹¤è¤¦¤Ê¤â¤Î¤Ç¡¢¤³¤ì¤è¤ê¤â
¤µ¤é¤ËÌÌÅݤǤ·¤¿¡£

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* ¥½¡¼¥È¥ï¡¼¥¯¹½Â¤ÂÎ */
#define AAA_LEN        (10)
#define BBB_LEN        (10)
#define CCC_LEN        (3)
#define DDD_LEN        (16)
#define EEE_LEN        (15)

#define RECORD_LEN    (AAA_LEN+BBB_LEN+CCC_LEN+DDD_LEN+EEE_LEN)

typedef struct _sortwork
{
    char aaa[AAA_LEN+1];
    char bbb[BBB_LEN+1];
    char ccc[CCC_LEN+1];
    char ddd[DDD_LEN+1];
    char eee[EEE_LEN+1];
} sortwork_t;

/* ¥×¥í¥È¥¿¥¤¥×Àë¸À */
void summarize(FILE* fi, FILE* fo);
void sortwork_fill(sortwork_t* wk, char* buf);
int sortwork_compare(sortwork_t* lhs, sortwork_t* rhs);
void write_result(FILE* fo, sortwork_t* prev, int sum);

/* main */
int main()
{
    FILE* fi;
    FILE* fo;

    fi = fopen("input.txt", "r");
    fo = fopen("output.txt", "w");

    summarize(fi, fo);

    fclose(fi);
    fclose(fo);

    return 0;
}

/* fi¥Õ¥¡¥¤¥ë¤ò½¸·×¤·¤Æfo¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ¹¤ë */
void summarize(FILE* fi, FILE* fo)
{
    sortwork_t curr = {0};    /* ¸½ºß¥Ç¡¼¥¿ */
    sortwork_t prev = {0};    /* Á°²ó¥Ç¡¼¥¿¡Ê½¸·×¥­¡¼Èæ³ÓÍÑ¡Ë */
    int sum = 0;              /* ½¸·×ÃÍ */
    char buf[RECORD_LEN+2+1]; /* ÆÉ¹þ¥Ð¥Ã¥Õ¥¡ */

    /* ½é²óÆÉ¹þ */
    if ( !fgets(buf, RECORD_LEN+2+1, fi) )
    {
        return;
    }
    /* ÆÉ¤ß¹þ¤ó¤ÀÃͤòcurr¤Ë³ÊǼ */
    sortwork_fill(&curr, buf);

    /* ½¸·×¥­¡¼Èæ³ÓÍѤ˸½ºß¥Ç¡¼¥¿¤òÁ°²ó¥Ç¡¼¥¿¤ËÂàÈò */
    prev = curr;

    /* ½¸·×Ãͤνé´ü²½ */
    sum = atoi(curr.eee);

    /* ¥½¡¼¥È´Ø¿ô¤¬ÆÉ¤ß¹þ¤á¤Ê¤¯¤Ê¤ë¤Þ¤Ç */
    while ( fgets(buf, RECORD_LEN+2+1, fi) )
    {
        /* ÆÉ¤ß¹þ¤ó¤ÀÃͤòcurr¤Ë³ÊǼ */
        sortwork_fill(&curr, buf);

        /* ½¸·×¥­¡¼¤òÈæ³Ó */
        if ( sortwork_compare(&prev, &curr) == 0 )
        {
            /* ½¸·×¥­¡¼¤¬Æ±¤¸¾ì¹ç */

            /* eee¤ò½¸·×Ãͤ˲û»¤¹¤ë */
            sum += atoi(curr.eee);
        }
        else
        {
            /* ½¸·×¥­¡¼¤¬Âå¤ï¤Ã¤¿¾ì¹ç */

            /* ¸½ºß¤Î½¸·×·ë²Ì¤òfo¤Ë½ÐÎϤ¹¤ë */
            write_result(fo, &prev, sum);

            /* ¸½ºß¥Ç¡¼¥¿¤òÁ°²ó¥Ç¡¼¥¿¤ËÂàÈò */
            prev = curr;

            /* ½¸·×Ãͤνé´ü²½ */
            sum = atoi(curr.eee);
        }
    }

    /* ºÇ¸å¤Î·ë²Ì¤òfo¤Ë½ÐÎϤ¹¤ë */
    write_result(fo, &prev, sum);
}

/* ÆÉ¤ß¹þ¤ó¤ÀÃͤò¥½¡¼¥È¥ï¡¼¥¯¤Ë³ÊǼ¤¹¤ë */
void sortwork_fill(sortwork_t* wk, char* buf)
{
    strncpy(wk->aaa, buf, AAA_LEN); buf += AAA_LEN;
    strncpy(wk->bbb, buf, BBB_LEN); buf += BBB_LEN;
    strncpy(wk->ccc, buf, CCC_LEN); buf += CCC_LEN;
    strncpy(wk->ddd, buf, DDD_LEN); buf += DDD_LEN;
    strncpy(wk->eee, buf, EEE_LEN);
}

/* ¥½¡¼¥È¥ï¡¼¥¯Æ±»Î¤òÈæ³Ó¤¹¤ë */
int sortwork_compare(sortwork_t* lhs, sortwork_t* rhs)
{
    return !((strcmp(lhs->aaa, rhs->aaa) == 0 ) &&
             (strcmp(lhs->bbb, rhs->bbb) == 0 ) &&
             (strcmp(lhs->ccc, rhs->ccc) == 0 ) &&
             (strcmp(lhs->ddd, rhs->ddd) == 0 ));
}

/* ½¸·×·ë²Ì¤ò¥Õ¥¡¥¤¥ë¤Ø½ÐÎϤ¹¤ë */
void write_result(FILE* fo, sortwork_t* prev, int sum)
{
    int i;
    char sumBuf[EEE_LEN+1] = { 0 };

    fputs(prev->aaa, fo);
    fputs(prev->bbb, fo);
    fputs(prev->ccc, fo);
    fputs(prev->ddd, fo);

    itoa(sum, sumBuf, 10);

    /* sumBuf¤ÎËöÈø¤ò¶õÇòËä¤á¤¹¤ë */
    for ( i = 0; i < EEE_LEN; ++i )
    {
        if ( !sumBuf[i] ) sumBuf[i] = ' ';
    }
    fputs(sumBuf, fo);
    fputs("\n", fo);
}


No.5220

Re:°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×
Åê¹Æ¼Ô---hide(2003/02/17 01:29:38)


ÊÖ»ö¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
>¡¡»ä¤â»Å»ö¤Ç»÷¤¿¤è¤¦¤Ê¤Î¤òÁȤó¤À¤³¤È¤¬¤¢¤ê¤Þ¤¹¡ÊCOBOL¤Ç¤Ç¤¹¤¬¡Ë¡£
>¤½¤Î¤È¤­¤Î¤Ï¤³¤³¤Ç¤¤¤¦¤Ê¤éaaa¤¬°ìÃס¢aaa¡¦bbb¤¬°ìÃס¢aaa¡Áccc¤¬°ìÃס¢
>aaa¡Áddd¤¬°ìÃפΣ´Ãʳ¬¤Î½¸·×·ë²Ì¤ò½ñ¤­½Ð¤¹¤è¤¦¤Ê¤â¤Î¤Ç¡¢¤³¤ì¤è¤ê¤â
>¤µ¤é¤ËÌÌÅݤǤ·¤¿¡£
¼Â¤Ï¼«Ê¬¤â4Ãʳ¬¤¢¤ë¤ó¤Ç¤¹¡Ä
¤¿¤À¤½¤ÎÁ°¤Ë°ì¤Ä¤â¤Ç¤­¤Ê¤¤¤Î¤Ç¤È¤ê¤¢¤¨¤º¥Ò¥ó¥È¤òÆÀ¤¿¤¤¤È»×¤¤
Åê¹Æ¤·¤Þ¤·¤¿¡£
C¤Ï½é¤á¤Æ¤¯¤à¤Î¤Ç¤è¤¯¤ï¤«¤ê¤Þ¤»¤ó¡£
¤·¤«¤·¡¢»Å»ö¤Ê¤Î¤Ç²¿¤â¤·¤Ê¤¤¤ï¤±¤Ë¤Ï¤¤¤«¤º¡Ä
¤µ¤Ã¤½¤¯»²¹Í¤Ë¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹¡£
¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£


C¸À¸ì´Ø·¸·Ç¼¨ÈÄ

²áµî¥í¥°

No.£µ£°£°¡¥°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×

[Ìá¤ë]¡¡[¥Û¡¼¥à¥Ú¡¼¥¸]
No.5223

Re:°ìÃפ¹¤ë¥­¡¼¤´¤È¤Î½¸·×(¼ÁÌä)
Åê¹Æ¼Ô---hide(2003/02/17 10:41:37)


¥«¥ó¥Ê¤µ¤ó¤Î¥µ¥ó¥×¥ë¤ò»²¹Í¤Ë¹½ÃÛ¤µ¤»¤Æ¤¤¤¿¤À¤¤¤Æ¤Þ¤¹¡£
¤½¤³¤Ç¼ÁÌä¤Ê¤ó¤Ç¤¹¤¬¡¢¼ÂºÝ¤ÎÁàºî¤Ç¤Ï¡¢ÆÉ¤ß¹þ¤ó¤À¹Ô¤ò²¿¹àÌܤ«¤Î¥­¡¼¤Ç°ìÃפ·¤¿½ç¤Ë¤½¤Î¤Þ¤ÞÌÀºÙ¤È¤·¤Æ¤Ï¤­¤À¤·
¤½¤Î¤Ê¤«¤«¤é¤µ¤é¤Ë¥­¡¼¤ò¹Ê¤Ã¤Æ¾®·×1,¾®·×2,¹ç·×¤Ê¤É¤À¤µ¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¥«¥ó¥Ê¤µ¤ó¤Î¥µ¥ó¥×¥ë¤ò»È¤Ã¤ÆWhileʸ¤Ëif¤ò¤Ä¤±¤¿¤ê¤·¤Æ¤Ê¤ó¤È¤«¤Ç¤­¤Þ¤¹¤«?
¤½¤ì¤È¤â¡¢¤â¤Ã¤ÈÊ£»¨¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¤·¤ç¤¦¤«?
¤½¤ì¤È¡¢
/*ºÇ¸å¤Î·ë²Ì¤òfo¤Ë½ÐÎϤ¹¤ë*/
¤È¤¤¤¦¤È¤³¤í¤Î·ë²Ì¤¬¤Á¤ã¤ó¤ÈÆÀ¤é¤ì¤º¡¢ºï¤Ã¤Æ¤ß¤Þ¤·¤¿¤¬ÆÃ¤Ë
ÌäÂê¤Ê¤¤¤è¤¦¤Ë»×¤¨¤¿¤Î¤Ç¤¹¤¬¡¢ºï¤ë¤È¤¤¤¦Êý¸þ¤ÏÌäÂê¤Ê¤¤¤Ç¤·¤ç¤¦¤«?

¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£