ラベル 演習 6 関数 の投稿を表示しています。 すべての投稿を表示
ラベル 演習 6 関数 の投稿を表示しています。 すべての投稿を表示

演習 6-15

#include <stdio.h>

int n;

void put_count(){

int i;
for (i = 0; i < n; i++){
printf("put_count:%d回目\n", i + 1);
}
}

int main(){

printf("何回カウントをしますか?:");
scanf("%d", &n);
put_count();

return 0;
}

演習 6-14

#include <stdio.h>

int main(){

int i;
static double sa[5];

for (i = 0; i < 5; i++){
printf("sa[%d]=%f\n", i, sa[i]);
}
return 0;
}

演習 6-13

#include <stdio.h>

void mat_add(const int a[2][4][3], int c[1][4][3]){

int i, j, k;

for (i = 0; i < 4; i++){
for (j = 0; j < 3; j++){
for (k = 0; k < 2; k++){
c[0][i][j] += a[k][i][j];
}
}
}
}

void mat_print(const int m[2][4][3], int n){

int i, j;


for (i = 0; i < 4; i++){
for (j = 0; j < 3; j++){
printf("%4d", m[n][i][j]);
}
printf("\n");
}
}

int main(){

int tensu[2][4][3] = { { { 91, 63, 78 }, { 67, 72, 46 }, { 89, 34, 53 }, { 32, 54, 34 } },
{ { 97, 67, 82 }, { 73, 43, 46 }, { 97, 56, 21 }, { 85, 46, 35 } } };
int sum[1][4][3] = { 0 };

mat_add(tensu, sum);

puts("1回目の点数"); mat_print(tensu, 0);
puts("2回目の点数"); mat_print(tensu, 1);
puts("合計点"); mat_print(sum, 0);

return 0;
}

演習 6-12

#include <stdio.h>

int matrix1[3][4], matrix2[4][3], matrix3[3][3] = { 0 };

//3行4列の行列aを入力
void input_matrix1(){

int i;

printf("3行4列の行列を入力して下さい。(数字と数字の間は半角スペース)\n");
for (i = 0; i < 3; i++){
scanf("%d %d %d %d", &matrix1[i][0], &matrix1[i][1], &matrix1[i][2], &matrix1[i][3]);
}
}

//4行3列の行列bを入力
void input_matrix2(){

int i;

printf("4行3列の行列を入力して下さい。(数字と数字の間は半角スペース)\n");
for (i = 0; i < 4; i++){
scanf("%d %d %d", &matrix2[i][0], &matrix2[i][1], &matrix2[i][2]);
}
}

//b*aをcに代入
void mat_mul(const int a[3][4], const int b[4][3], int c[3][3]){

int i, j, k;

for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++){
for (k = 0; k < 4; k++){
c[i][j] = c[i][j] + b[k][j] * a[j][k];
}
}
}
}

//cを出力
void mat_print(const int c[3][3]){

int i, j;
for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++){
printf("%3d", c[i][j]);
}
printf("\n");
}
}

int main(){

printf("3行4列の行列と4行3列の行列の積を求めます。\n");
input_matrix1();
input_matrix2();
printf("4行3列の行列と3行4列の行列の積は\n");
mat_mul(matrix1, matrix2, matrix3);
mat_print(matrix3);

return 0;
}

演習 6-11

#include <stdio.h>
#define NUMBER 7

int idx[NUMBER];

int search_idx(const int v[], int idx[], int key, int n){

int i;

for (i = 0; i < NUMBER; i++){
if (v[i] == key){
idx[n] = i;
n++;
}
}
return n;
}

int main(){

int i, key, n = 0;
int v[NUMBER];

for (i = 0; i < NUMBER; i++){
printf("v[%d]:", i);
scanf("%d", &v[i]);
}
printf("探す値:");
scanf("%d", &key);

n = search_idx(v, idx, key, n);

printf("keyと等しい要素の数は%dで、idxの中身は{", n);
for (i = 0; i < n; i++){
if (i == n - 1){
printf("%d", idx[n - 1]);
break;
}
printf("%d, ", idx[i]);
}
printf("}です。\n");

return 0;
}

演習 6-10

#include <stdio.h>

void intary_rcpy(int v1[], const int v2[], int n){

int i;
for (i = 0; i < n; i++){
v1[i] = v2[n - i - 1];
}
}

int main(){

int i, n, x1[100], x2[100];

printf("入力された要素を反転させます。\n");
printf("何個要素を入力しますか?:");
scanf("%d", &n);
printf("要素を入力して下さい。\n");
for (i = 0; i < n; i++){
printf("x[%d] : ", i);
scanf("%d", &x2[i]);
}
printf("それらの要素の順番を反転させると\n");
intary_rcpy(x1, x2, n);
for (i = 0; i < n; i++){
printf("x[%d] = %d\n", i, x1[i]);
}
return 0;
}

演習 6-9

#include <stdio.h>

void rev_intary(int v[], int n){

int i, temp;
for (i = 0; i < n / 2; i++){
temp = v[i];
v[i] = v[n - i - 1];
v[n - i - 1] = temp;
}
for (i = 0; i < n; i++){
printf("x[%d] = %d\n", i, v[i]);
}
}

int main(){

int i, n, x[100];

printf("入力された要素を反転させます。\n");
printf("何個要素を入力しますか?:");
scanf("%d", &n);
printf("要素を入力して下さい。\n");
for (i = 0; i < n; i++){
printf("x[%d] : ", i);
scanf("%d", &x[i]);
}
printf("それらの要素の順番を反転させると\n");
rev_intary(x, n);

return 0;
}

演習 6-8

#include <stdio.h>

int min_of(const int v[], int n){

int i, min = v[0];

for (i = 1; i < n; i++){
if (min > v[i]){
min = v[i];
}
}
return min;
}

int main(){

int i, n, x[100];

printf("要素(整数)を何個入力しますか?:");
scanf("%d", &n);
printf("要素を入力して下さい。\n");
for (i = 0; i < n; i++){
printf("要素 %d :", i + 1);
scanf("%d", &x[i]);
}
printf("全要素の最小値は%dです。\n", min_of(x, n));

return 0;
}

演習 6-7

#include <stdio.h>

void hello(){

printf("こんにちは\n");
}

int main(){

hello();

return 0;
}

演習 6-6

#include <stdio.h>

void alert(int n){

while (n-- > 0){
printf("\a");
}
}

int main(){

int n;
printf("何回警報を鳴らしますか?:");
scanf("%d", &n);

alert(n);

return 0;
}

演習 6-5

#include <stdio.h>

int sumup(int n){

int i, sum = 0;

for (i = 1; i <= n; i++){
sum += i;
}
return sum;
}

int main(){

int n;

printf("1からnまでの全整数の和を求めます。\n");
printf("nの値は?:"); scanf("%d", &n);
printf("1から%dまでの全整数の和は%dです。\n", n, sumup(n));

return 0;
}

演習 6-4

#include <stdio.h>

int sqr(int x){
return x*x;
}

int pow4(int x){
return sqr(x)*sqr(x);
}

int main(){

int n;

printf("整数を入力して下さい:");
scanf("%d", &n);
printf("その数を4乗した値は%dです。\n", pow4(n));

return 0;
}

演習 6-3

#include <stdio.h>

int cube(int n){
return n*n*n;
}

int main(){

int n;

printf("整数を入力して下さい:");
scanf("%d", &n);
printf("その数を3乗した値は%dです。\n", cube(n));

return 0;
}

演習 6-2

#include <stdio.h>

int min3(int a, int b, int c){

int min = a;

if (min > b) min = b;
if (min > c) min = c;

return min;
}

int main(){

int a, b, c;

printf("三つの整数を入力して下さい。\n");
printf("整数a:"); scanf("%d", &a);
printf("整数b:"); scanf("%d", &b);
printf("整数c:"); scanf("%d", &c);

printf("小さい方の値は%dです。\n", min3(a, b, c));

return 0;
}

演習 6-1

#include <stdio.h>

int min2(int a, int b){

int min = a;

if (a > b){
min = b;
}
return min;
}

int main(){

int n1, n2;

printf("二つの整数を入力して下さい。\n");
printf("整数1:"); scanf("%d", &n1);
printf("整数2:"); scanf("%d", &n2);

printf("小さい方の値は%dです。\n", min2(n1, n2));

return 0;
}