コメント一覧
まえへ つぎへ57 投稿者:
名無しさん 2019/10/29 12:13:33
#include<stdio.h>
#include<math.h>
float f(float x){
return(4/(x*x+1));
}
int main(void){
int i,n;
float a=0.0,b=1.0,h,s1=0.0,s2=0.0,S,x;
printf("input n:");
scanf("%d",&n);
h=(b-a)/(2.0*n);
S=f(a)+f(b);
for(i=1;i<2*n;i++){
x=a+h*i;
if(i%2==1){
s1+=f(x);
}else{
s2+=f(x);
}
}
S=(S+4.0*s1+2.0*s2)*h/3.0;
printf("devide:%2d, S=%f\n",n,S);
}
58 投稿者:
名無しさん 2019/10/29 12:13:40
#include<stdio.h>
#include<math.h>
float f(float x){
return(4/(1+x*x));
}
int main(void){
int i,n;
float a=0.0,b=1.0,h,S,x;
printf("input n:");
scanf("%d",&n);
h=(b-a)/n;
S=(f(a)+f(b))/2.0;
for(i=1;i<n;i++){
x=a+h*i;
S+=f(x);
}
S*=h;
printf("device:%2d, S=%f(%f)\n",n,S,M_PI-S);
}
59 投稿者:
名無しさん 2019/11/05 12:15:46
ここで一句。
60 投稿者:
名無しさん 2019/11/05 12:15:55
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 4
int main(){
int i,j,k,p;
float A[N][N+1],x[N],q;
FILE *fp;
if( (fp=fopen("20191105-1.dat","r"))==NULL) {
printf("cannot open file.\n");
exit(0);
}
for(i=0;i<N;i++)
for(j=0;j<N+1;j++)
fscanf(fp,"%f",&A[i][j]);
fclose(fp);
for(i=0;i<N;i++){
for(j=0;j<N+1;j++) printf("%6.2f",A[i][j]);
printf("\n");
}
printf("\n");
/* forward elimination */
for(k=0;k<N-1;k++){
for(j=k+1;j<N;j++){
if(fabs(A[k][k])<1.0e-6){
printf("A[k][k] is zero.\n");
exit(0);
}
q=A[j][k]/A[k][k];
for(p=k;p<N+1;p++) A[j][p]-=q*A[k][p];
}
}
/*backward substitution*/
for(i=N-1;i>=0;i--){
x[i]=A[i][N];
for(j=i+1;j<N;j++) x[i]-=A[i][j]*x[j];
x[i]/=A[i][i];
}
/*output result*/
for(i=0;i<N;i++){
for(j=0;j<N+1;j++) printf("%6.2f",A[i][j]);
printf("\t%6.2f\n",x[i]);
}
}
61 投稿者:
名無しさん 2019/11/05 12:16:05
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 3
int main(void){
int i,j,k;
float A[N][N],L[N][N],U[N][N],x[N],b[N],y[N];
FILE *fp;
if( (fp=fopen("20191105-2.dat","r"))=NULL){
printf("cannnot open file.\n");
exit(0);
}
for(i=0;i<N;i++){
for(j<0;j<K;j++) fscanf(fp, "%f",&A[i][j]);
fscanf(fp,"%f",&b[i]);
}
fclose(fp);
for(i=0;i<N;i++){
for(j=0;j<N+1;j++) printf("%6.2f",A[i][j]);
printf("\n");
}
printf("\n");
for(i=0;i<N;i++){
for(j=0;j<N;j++){
L[i][j]=0.0;
U[i][j]=0.0;
}
x[i]=0.0;
}
/*A=LU (U=LT) -> L,U*/
for(j=0;j<N;j++){
for(i=j;i<N;i++){
if(i==j){
L[i][j]=A[i][j];
for(k=0;k<i;k++)
L[i][j]-=L[i][k]*L[i][k];
L[i][j]=sqrt(L[i][j]);
} else {
L[i][j]=A[i][j];
for(k=0;k<j;k++)
L[i][j]-=L[j][k]*L[i][k];
L[i][j]/=L[j][j];
}
U[j][i]=L[i][j];
}
}
for(i=0;i<N;i++){
for(j=0;j<N;j++) printf("%6.2f",L[i][j]);
printf("\t");
for(j=0;j<N;j++) printf("%6.2f",U[i][j]);
printf("\n");
}
printf("\n");
/*Ly=b -> y*/
for(i=0;i<N;i++){
y[i]=b[i];
for(j=0;j<i;j++) y[i]-=L[i][j]*y[j];
f[i]/=L[i][i];
}
/*Ux->x*/
for(i=N-1;i>=0;i--){
x[i]=y[i];
for(j=i+1;j<N;j++) x[i]-=U[i][j]*x[j];
x[i]/=U[i][i];
}
/*result*/
for(i=0;i<N;i++)printf("%6.2f\n",x[i]);
}
62 投稿者:
名無しさん 2019/11/05 12:20:04
ここで一句。
63 投稿者:
名無しさん 2019/11/05 12:20:20
//20191105_2 MaedaSoichiro
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define N 3
int main(void){
int i,j,k,p;
float A[N][N],L[N][N],U[N][N],x[N],b[N],y[N];
FILE *fp;
if((fp=fopen("191105_2.dat","r"))==NULL){
printf("cannot open file.\n");
exit(0);
}
for(i=0;i<N;i++){
for(j=0;j<N+1;j++)
fscanf(fp,"%f",&A[i][j]);
fscanf(fp,"%f",&b[i]);
}
fclose(fp);
for(i=0;i<N;i++){
for(j=0;j<N+1;j++)printf("%6.2f",A[i][j]);
printf("\n");
}
printf("\n");
/**/
for(i=0;i<N;i++){
for(j=0;j<N;j++){
L[i][j]=0.0;
U[i][j]=0.0;
}
x[i]=0.0;
}
/*A=LU (U=LT) -> L,U */
for(j=0;j<N;j++){
for(i=j;i<N;i++){
if(i==j){
L[i][j]=A[i][j];
for(k=0;k<i;k++)
L[i][j]-=L[i][k]*L[i][k];
L[i][j]=sqrt(L[i][j]);
}else{
L[i][j]=A[i][j];
for(k=0;k<j;k++)
L[i][j]-=L[j][k]*L[i][k];
L[i][j]/=L[j][j];
}
U[j][i]=L[i][j];
}
}
for(i=0;i<N;i++){
for(j=0;j<N;j++)printf("%6.2f",L[i][j]);
printf("\t");
for(j=0;j<N;j++)printf("%6.2f",U[i][j]);
printf("\n");
}
printf("\n");
/*ly=b -> y */
for(i=0;i<N;i++){
y[i]=b[i];
for(j=0;j<i;j++)y[i]-=L[i][j]*y[j];
y[i]/=L[i][i];
}
/*Ux=y -> x */
for(i=N-1;i>=0;i--){
x[i]=y[i];
for(j=i+1;j<N;j++)x[i]-=U[i][j]*x[j];
x[i]/=U[i][i];
}
/*result*/
for(i=0;i<N;i++)printf("%6.2f\n",x[i]);
}
/*
4.00 -2.00 0.00 -2.00
-2.00 2.00 -1.00 0.00
0.00 -1.00 2.00 0.00
*/
64 投稿者:
名無しさん 2019/12/05 12:57:14

65 投稿者:
名無しさん 2019/12/05 12:58:02

66 投稿者:
名無しさん 2019/12/09 09:54:25
#define _WINSOCK_DEPRECATED_NO_WARNINGS
#include <WinSock2.h>
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
int main(){
SOCKET listen_s;
SOCKET s;
WSADATA wsaData;
SOCKADDR_IN saddr, from;
char szBuf[1024];
int fromlen;
int nRcv;
u_short uport;
printf("ポート番号:");
gets_s(szBuf);
uport = atoi(szBuf);
if (WSAStartup(MAKEWORD(2, 2), &wsaData)){
printf("WSAStartup関数失敗\n");
WSACleanup();
return -1;
}
listen_s = socket(AF_INET, SOCK_STREAM, 0);
if (listen_s < 0){
printf("ソケットオープン失敗\n");
WSACleanup();
return -1;
}
listen_s = socket(AF_INET, SOCK_STREAM, 0);
if (listen_s < 0){
printf("ソケットオープンエラー\n");
WSACleanup();
return -2;
}
else{
printf("ソケットオープン完了");
}
memset(&saddr, 0, sizeof(SOCKADDR_IN));
saddr.sin_family = AF_INET;
saddr.sin_port = htons(uport);
saddr.sin_addr.s_addr = INADDR_ANY;
if (bind(listen_s, (struct sockaddr *)&saddr, sizeof(saddr)) == SOCKET_ERROR){
printf("バインディングエラー");
closesocket(listen_s);
WSACleanup();
return -3;
}
else{
printf("バインディング完了\n");
}
if (listen(listen_s, 0) == SOCKET_ERROR){
printf("Listen移行失敗\n");
closesocket(listen_s);
WSACleanup();
return -4;
}
else{
printf("Listen移行完了\nAccept状態へ遷移\n");
}
fromlen = (int)sizeof(from);
s = accept(listen_s, (SOCKADDR *)&from, &fromlen);
if (s == INVALID_SOCKET){
printf("接続失敗");
closesocket(listen_s);
WSACleanup();
return -5;
}
else{
printf("%sから接続\n", inet_ntoa(from.sin_addr));
printf("アクセプト完了\n送受信開始\n\n");
}
closesocket(listen_s);
while (1){
printf("\n受信待機...\n");
nRcv = recv(s, szBuf, sizeof(szBuf) - 1, 0);
if (nRcv == SOCKET_ERROR){
printf("受信エラー\n");
break;
}
szBuf[nRcv] = '\0';
if (strcmp(szBuf, "c_end") == 0){
printf("クライアント:接続切断\n");
break;
}
send(s, szBuf, (int)strlen(szBuf), 0);
}
shutdown(s, SD_BOTH);
closesocket(s);
WSACleanup();
printf("サーバー終了\n");
_getch();
return 0;
}