fork download
  1. #include <stdio.h>
  2.  
  3. void tampilkanData(int M, int pendonor[3][4][2]) {
  4. for (int d = 0; d < M; d++) {
  5. printf("Desa %d:\n", d + 1);
  6. printf("Golongan A: %d pendonor, total volume %d ml\n", pendonor[d][0][0], pendonor[d][0][1]);
  7. printf("Golongan B: %d pendonor, total volume %d ml\n", pendonor[d][1][0], pendonor[d][1][1]);
  8. printf("Golongan AB: %d pendonor, total volume %d ml\n", pendonor[d][2][0], pendonor[d][2][1]);
  9. printf("Golongan O: %d pendonor, total volume %d ml\n", pendonor[d][3][0], pendonor[d][3][1]);
  10. printf("\n");
  11. }
  12. }
  13.  
  14. int main() {
  15. int N, M;
  16. int pendonor[3][4][2] = {{{0}}};
  17.  
  18. printf("Masukkan jumlah pendonor (1-1000): ");
  19. scanf("%d", &N);
  20. printf("Masukkan jumlah desa (1-10): ");
  21. scanf("%d", &M);
  22.  
  23. printf("Masukkan data (kode desa, gol darah, volume darah):\n");
  24. for (int i = 0; i < N; i++) {
  25. int desa, gol, vol;
  26. scanf("%d %d %d", &desa, &gol, &vol);
  27. if (desa >= 1 && desa <= M && gol >= 1 && gol <= 4) {
  28. pendonor[desa - 1][gol - 1][0]++;
  29. pendonor[desa - 1][gol - 1][1] += vol;
  30. } else {
  31. printf("Data tidak valid, input ulang:\n");
  32. i--;
  33. }
  34. }
  35.  
  36. // Panggil fungsi untuk menampilkan data
  37. tampilkanData(M, pendonor);
  38.  
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0.01s 5284KB
stdin
8
3
3 1 150
1 2 250
3 1 300
1 3 450
2 2 200
3 4 350
1 4 500
2 1 500
stdout
Masukkan jumlah pendonor (1-1000): Masukkan jumlah desa (1-10): Masukkan data (kode desa, gol darah, volume darah):
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