質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

2回答

1322閲覧

記入している条件をすべてみたしたソースコードがわからない

nononono1

総合スコア4

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/10/13 11:56

編集2021/10/13 12:03

input3.txt というデータファイルがあるとする.配列 a[10]を準備し,このデータファイルのデ
ータをすべて読み込んだ後,すべてのデータの和を計算し,計算結果を画面に表示するプログラムを
作成せよ.
ただし,
(1) データの値が負の場合はすべて 0 に置換える
(2) データの読込みと表示は関数 main で行う
(3) 計算は別に関数 keisan を作成して,そこで行う
(4) 関数間のデータの受け渡しはアドレス渡し
とする.したがって,
関数 main
・複数行データの読込み
・アドレス渡しで関数 keisan を呼び出し
・print 文による計算結果の表示
関数 keisan
・for ループ,if 文を利用した値が負の場合のデータの 0 への変換
・for ループを利用した合計の計算
という構成でプログラムを行うこと.

入力ファイル
1
2
3
2
1
-10
-20
-30
-40
-50

自分の考えたソースコード(未完成)
#include<stdio.h>

void keisan();

int main()
{
int x{10},y;
FILE *fout;

if(( fout=fopen("input3.txt","r"))==NULL){ printf("cannot open the input file\n"); return 1; }

void keisan();
{
for(int i=0; i<10; i++){
if(a[i]<0)
a[i]=0;
else
y=y+a[i];

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

episteme

2021/10/13 12:57

> 自分の考えたソースコード(未完成) 未完成どころか まだなにもできてない。 せめて 「ファイルから読み取ったデータをそのまま出力」 くらいはやろうよ。
退会済みユーザー

退会済みユーザー

2021/10/13 13:41

C# のタグを削除してください。
kazuma-s

2021/10/20 15:24

質問のコードで、#include<stdio.h> の # がなくなって、 include<stdio.h> が大きな太字になっているのをおかしいと思いませんか? teratail のヘルプをよく読んで、ソースコードの投稿の仕方をまず学んでください。
guest

回答2

0

関数って、何か知っていますか?
入力されたデータに、何らかの処理(演算)をした結果を返す機能を持ったものです。

計算をする関数 keisan は、処理した結果を返さないといけないので、

void keisan(); //関数 keisanは、結果を返さない(結果は空っぽ(void)だからね)

というような定義をする時点で、質問者が関数について理解が出来ていない事が判ります。

まず、「関数とは何か」ということを教科書や参考書を読んで理解しましょう!
関数は、数学や理科といった教科でも必要となるので、ちゃんと学んでください。

プログラムの作成は、そうした基礎知識を身に着けてから取り掛かるべきだと思います。

投稿2021/10/13 12:50

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

C++

1// input3.txt というデータファイルがあるとする.配列 a[10]を準備し, 2// このデータファイルのデータをすべて読み込んだ後, 3// すべてのデータの和を計算し, 4// 計算結果を画面に表示するプログラムを作成せよ. 5 6#include <iostream> 7#include <fstream> 8#include <vector> 9#include <numeric> 10 11// (3) 計算は別に関数 keisan を作成して,そこで行う 12// (4) 関数間のデータの受け渡しはアドレス渡し 13int keisan(const int* data, int n) { 14 return std::accumulate(data, data+n, 0); 15} 16 17int main() { 18 // (2) データの[読込み]と表示は関数 main で行う 19 std::ifstream stream("input3.txt"); 20 if ( !stream.is_open() ) return -1; 21 22 std::vector<int> data; 23 int input; 24 while ( stream >> input ) { 25 // (1) データの値が負の場合はすべて 0 に置換える 26 if ( input < 0 ) input = 0; 27 data.push_back(input); 28 } 29 30 // (3) 計算は別に関数 keisan を作成して,そこで行う 31 int sum = keisan(data.data(), data.size()); 32 // (2) データの読込みと[表示]は関数 main で行う 33 std::cout << sum << std::endl; 34}

投稿2021/10/13 12:54

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問