#include <stdio.h>
int main( ) {
int N, M;
int pendonor[ 10 ] [ 4 ] [ 2 ] = { { { 0 } } } ; // [desa][gol_darah][jumlah dan volume]
printf ( "Masukkan jumlah pendonor (N): " ) ; printf ( "Masukkan jumlah desa (M): " ) ;
printf ( "Masukkan data (kode desa, golongan darah, volume darah ml):\n " ) ; for ( int i = 0 ; i < N; i++ ) {
int kodeDesa, golDarah, volume;
scanf ( "%d %d %d" , & kodeDesa
, & golDarah
, & volume
) ;
if ( kodeDesa >= 1 && kodeDesa <= M && golDarah >= 1 && golDarah <= 4 ) {
pendonor[ kodeDesa - 1 ] [ golDarah - 1 ] [ 0 ] ++;
pendonor[ kodeDesa - 1 ] [ golDarah - 1 ] [ 1 ] += volume;
} else {
printf ( "Data tidak valid, input ulang.\n " ) ; i--;
}
}
for ( int d = 0 ; d < M; d++ ) {
printf ( "Golongan A: %d pendonor, total volume %d ml\n " , pendonor
[ d
] [ 0 ] [ 0 ] , pendonor
[ d
] [ 0 ] [ 1 ] ) ; printf ( "Golongan B: %d pendonor, total volume %d ml\n " , pendonor
[ d
] [ 1 ] [ 0 ] , pendonor
[ d
] [ 1 ] [ 1 ] ) ; printf ( "Golongan AB: %d pendonor, total volume %d ml\n " , pendonor
[ d
] [ 2 ] [ 0 ] , pendonor
[ d
] [ 2 ] [ 1 ] ) ; printf ( "Golongan O: %d pendonor, total volume %d ml\n " , pendonor
[ d
] [ 3 ] [ 0 ] , pendonor
[ d
] [ 3 ] [ 1 ] ) ; }
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIGludCBOLCBNOwogICAgaW50IHBlbmRvbm9yWzEwXVs0XVsyXSA9IHt7ezB9fX07IC8vIFtkZXNhXVtnb2xfZGFyYWhdW2p1bWxhaCBkYW4gdm9sdW1lXQoKICAgIHByaW50ZigiTWFzdWtrYW4ganVtbGFoIHBlbmRvbm9yIChOKTogIik7CiAgICBzY2FuZigiJWQiLCAmTik7CiAgICBwcmludGYoIk1hc3Vra2FuIGp1bWxhaCBkZXNhIChNKTogIik7CiAgICBzY2FuZigiJWQiLCAmTSk7CgogICAgcHJpbnRmKCJNYXN1a2thbiBkYXRhIChrb2RlIGRlc2EsIGdvbG9uZ2FuIGRhcmFoLCB2b2x1bWUgZGFyYWggbWwpOlxuIik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykgewogICAgICAgIGludCBrb2RlRGVzYSwgZ29sRGFyYWgsIHZvbHVtZTsKICAgICAgICBzY2FuZigiJWQgJWQgJWQiLCAma29kZURlc2EsICZnb2xEYXJhaCwgJnZvbHVtZSk7CgogICAgICAgIGlmIChrb2RlRGVzYSA+PSAxICYmIGtvZGVEZXNhIDw9IE0gJiYgZ29sRGFyYWggPj0gMSAmJiBnb2xEYXJhaCA8PSA0KSB7CiAgICAgICAgICAgIHBlbmRvbm9yW2tvZGVEZXNhIC0gMV1bZ29sRGFyYWggLSAxXVswXSsrOwogICAgICAgICAgICBwZW5kb25vcltrb2RlRGVzYSAtIDFdW2dvbERhcmFoIC0gMV1bMV0gKz0gdm9sdW1lOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHByaW50ZigiRGF0YSB0aWRhayB2YWxpZCwgaW5wdXQgdWxhbmcuXG4iKTsKICAgICAgICAgICAgaS0tOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IgKGludCBkID0gMDsgZCA8IE07IGQrKykgewogICAgICAgIHByaW50ZigiRGVzYSAlZDpcbiIsIGQgKyAxKTsKICAgICAgICBwcmludGYoIkdvbG9uZ2FuIEE6ICVkIHBlbmRvbm9yLCB0b3RhbCB2b2x1bWUgJWQgbWxcbiIsIHBlbmRvbm9yW2RdWzBdWzBdLCBwZW5kb25vcltkXVswXVsxXSk7CiAgICAgICAgcHJpbnRmKCJHb2xvbmdhbiBCOiAlZCBwZW5kb25vciwgdG90YWwgdm9sdW1lICVkIG1sXG4iLCBwZW5kb25vcltkXVsxXVswXSwgcGVuZG9ub3JbZF1bMV1bMV0pOwogICAgICAgIHByaW50ZigiR29sb25nYW4gQUI6ICVkIHBlbmRvbm9yLCB0b3RhbCB2b2x1bWUgJWQgbWxcbiIsIHBlbmRvbm9yW2RdWzJdWzBdLCBwZW5kb25vcltkXVsyXVsxXSk7CiAgICAgICAgcHJpbnRmKCJHb2xvbmdhbiBPOiAlZCBwZW5kb25vciwgdG90YWwgdm9sdW1lICVkIG1sXG4iLCBwZW5kb25vcltkXVszXVswXSwgcGVuZG9ub3JbZF1bM11bMV0pOwogICAgICAgIHByaW50ZigiXG4iKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=
stdout
Masukkan jumlah pendonor (N): Masukkan jumlah desa (M): Masukkan data (kode desa, golongan darah, volume darah ml):
Desa 1:
Golongan A: 0 pendonor, total volume 0 ml
Golongan B: 1 pendonor, total volume 250 ml
Golongan AB: 1 pendonor, total volume 450 ml
Golongan O: 1 pendonor, total volume 500 ml
Desa 2:
Golongan A: 1 pendonor, total volume 500 ml
Golongan B: 1 pendonor, total volume 200 ml
Golongan AB: 0 pendonor, total volume 0 ml
Golongan O: 0 pendonor, total volume 0 ml
Desa 3:
Golongan A: 2 pendonor, total volume 450 ml
Golongan B: 0 pendonor, total volume 0 ml
Golongan AB: 0 pendonor, total volume 0 ml
Golongan O: 1 pendonor, total volume 350 ml