Elec Days

電子工作やelectric的なこと、日常の出来事について、紹介していきます。
Elec Days TOP  > 

Elec Days

Elec Daysのブログです
関連記事
[ 2020/09/18 19:59 ] 未分類 | TB(0) | CM(0)

Gmail容量拡大!

こんばんは

久しぶりの更新ですね。


ところで、容量が多くて有名なGmail。

最近、さらに容量が増えたのに気づきましたでしょうか?

昔は7GBぐらいだったのが、いまは、10GBになっています。

まあ僕もふとしたことから気づいたんですけど。

かなりびっくりなことでした。

皆さんもぜひ確かめてみてください。

では


追記

こんなニュース記事を見つけました。

関連記事
[ 2020/06/10 00:57 ] 未分類 | TB(1) | CM(0)

【C言語】素因数分解をするプログラム(ファイル分割版)

こんばんは

さて、素因数分解のファイル分割に成功しました。

多次元配列のポインタ受け渡し、なんか以外とするっと解決してしましました。


てことで、以下ファイルたち
実行ファイル(soinsubunkaisegmentfile.exe)

ソースファイル
 ・maininsoinsubunkaisegmentfile.c
 ・soinsubunkaimain.c
 ・kyotu_include.c
 
<maininsoinsubunkaisegmentfile.c>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int soinsubunkai(int num1, int x[10000][2]);
int fileoutput(void);
int programcontinue(void);

int main(void)
{
int w = 1;

while(w!=0){
int num;
int i = 2;
int a;
int soinsu[10000][2];

int c;

int b;
FILE *fp;
time_t t;
char str[50];

int v;

printf("素因数分解する数を入力してください。\n");
scanf("%d", &num);

a = soinsubunkai(num, soinsu);

a++;
soinsu[a][0] = 0;
a = 0;

while(soinsu[a][0]!=0){
for(c=0; c<soinsu[a][1]; c++){
printf("%d ×", soinsu[a][0]);
}
a++;
}

printf("\b\n");

a = 0;

while(soinsu[a][0]!=0){
printf("\n%dの%d乗、", soinsu[a][0], soinsu[a][1]);
a++;
}
printf("です。\n\n");

a = 0;

b = fileoutput();

if(b == 0){
sprintf(str, "%ld", time(&t));
printf("ファイル名は%sです。\n", str);
fp = fopen(str, "w");

if(fp == NULL){
printf("ファイルを作成できませんでした。\n");
return 1;
}
else{
fprintf(fp, "%dを素因数分解すると、\n", num);
while(soinsu[a][0]!=0){
fprintf(fp, "\n%dの%d乗、", soinsu[a][0], soinsu[a][1]);
a++;
}
fprintf(fp, "です。");
fclose(fp);
}
}

v = programcontinue();

if(v==0){
printf("プログラムを終了しました。\n");
system("PAUSE");
return 1;
}
printf("プログラムを続行します…\n\n");
}

return 0;
}


<soinsubunkaimain.c>
#include <stdio.h>

int soinsubunkai(int num1, int x[10000][2])
{
int i = 2;
int aa = 0;

int f = 1;

while(i!=0)
{//素因数の計算
if(num1%i == 0){
if(f == 1){
x[aa][0] = i;
x[aa][1] = 0;
}
f = 0;
num1 /= i;
x[aa][1]++;

if(num1 == 1){
break;
}
}
else{
i++;
if(f == 0){
aa++;
}
f = 1;
}
}

return aa;
}


<kyotu_include.c>
#include <stdio.h>

int fileoutput(void)
{
int x;

printf("計算結果をファイルに出力しますか?出力する場合は半角で0を入力してください。出力させない場合には半角で1を入力してください。\n(ファイルはこの実行ファイルがあるフォルダーに作られます。)\n");
scanf("%d", &x);

return x;
}

int programcontinue(void)
{
int y;

printf("\nプログラムを終了しますか?\nプログラムを終了させるには半角で0を、もう一度計算させるには半角で1を入力してください。\n");
scanf("%d", &y);

return y;
}

一応まともに動くはずです。

では
関連記事
[ 2020/03/21 20:36 ] プログラミング C言語 | TB(0) | CM(0)

【C言語】素因数分解をするプログラム

こんばんは

さて、今日は素因数分解のプログラム!

このプログラムは、素因数分解することができます。
そして、恒例の通り、ファイルに出力できます

・実行ファイル (soinsubunkai.exe)

・ソースファイル (soinsubunkai.c)
※ブラウザーで表示すると表示が崩れる可能性がありますので、ダウンロードしてからご覧ください。
  メモ帳で読むこともできます。Microsoft Visual 推奨。


<soinsubunkai.c>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
int w = 1;

while(w>0){
int num;
int num1;
int i = 2;
int a = 0;
int soinsu[10000][2];

int f = 1;

int b;
FILE *fp;
time_t t;
char str[50];

int v;

printf("素因数分解する数を入力してください。\n");
scanf("%d", &num);

num1 = num;

while(i!=1){ //素因数の計算
if(num1%i == 0){
if(f == 1){
soinsu[a][1] = 0;
}
f = 0;

printf("%d", i);
num1 /= i;
soinsu[a][0] = i;
soinsu[a][1]++;

if(num1 == 1){
break;
}
printf("×\n");
}
else{
i++;
if(f == 0){
a++;
}
f = 1;
}
}

a++;
soinsu[a][0] = 0;
a = 0;

printf("\n");

while(soinsu[a][0]!=0){
printf("\n%dの%d乗、", soinsu[a][0], soinsu[a][1]);
a++;
}
printf("です。\n\n");

a = 0;

b = fileoutput();

if(b == 0){
sprintf(str, "%ld", time(&t));
printf("ファイル名は%sです。\n", str);
fp = fopen(str, "w");

if(fp == NULL){
printf("ファイルを作成できませんでした。\n");
return 1;
}
else{
fprintf(fp, "%dを素因数分解すると、\n", num);
while(soinsu[a][0]!=0){
fprintf(fp, "\n%dの%d乗、", soinsu[a][0], soinsu[a][1]);
a++;
}
fprintf(fp, "です。");
fclose(fp);
}
}

v = programcontinue();

if(v==0){
printf("プログラムを終了しました。\n");
system("PAUSE");
return 1;
}
printf("プログラムを続行します…\n\n");
}
}


int fileoutput(void)
{
int x;

printf("計算結果をファイルに出力しますか?出力する場合は半角で0を入力してください。出力させない場合には半角で1を入力して

ください。\n(ファイルはこの実行ファイルがあるフォルダーに作られます。)\n");
scanf("%d", &x);

return x;
}

int programcontinue(void)
{
int y;

printf("\nプログラムを終了しますか?\nプログラムを終了させるには半角で0を、もう一度計算させるには半角で1を入力してくださ

い。\n");
scanf("%d", &y);

return y;
}


これは単一ファイルバージョンですが、ファイルを分割できないです。
というか、多次元配列のポインタの渡し方がわからない。
わかる方、ご教授いただけるとありがたいです。



では
関連記事
[ 2020/03/20 21:39 ] プログラミング C言語 | TB(0) | CM(3)

やさしいC制覇!!

こんにちは。


前に紹介した、『やさしいC』を、すべてやり終わりました。


やさしいC 第3版 [やさしいシリーズ]

中古価格
¥1,980から
(2011/10/24 15:27時点)





結構理解できた気分でいます。

そして、これからC++を勉強することにしました。『やさしいC++』という本で、同じシリーズです。


やさしいC 第3版 [やさしいシリーズ]

中古価格
¥1,198から
(2011/10/24 15:20時点)





ちなみに、いま、C++での文字出力の仕方を理解しました。



では。
[ 2020/01/24 15:20 ] プログラミング C++ | TB(0) | CM(0)
プロフィール

elecho

Author:elecho
 
ElecDays にようこそ!!

趣味は、電子的なもの(電子工作やコンピュータ)なので、そういうものについて書くと思います。
あと、学生です。

よろしくお願いします。