###前提・実現したいこと
ここに質問したいことを詳細に書いてください
n はレシピに書かれている食材の数を表す整数
文字列 a と整数 t (1 ≦ i ≦ n) は、1人前あたりの食材 a が t だけ必要であることを表します。
同様に、b はあなたが所持している食材の数を表す整数
文字列 d と整数 c (1 ≦i ≦ b) は、食材 d を c だけ所持していることを表します。
所持している食材と量で最大何人前作れますか?
どのようにしたら見比べることができますか。
比べる方法がまったくわかりません
###発生している問題・エラーメッセージ
エラーメッセージ
###該当のソースコード
c
12#include<stdio.h>3voidmain(void)4{5int i, n, t,b,c;6char a,d;7scanf("%d",&i);8for(n =1; n <= i; n++)9{10scanf("%s",a);11scanf("%d", t);12}13scanf("%d", b);14for(n =1; n <= b; n++)15{16scanf("%s", d);17scanf("%d", c);18}1920getchar();21getchar();22}
(作成方針)
面倒ですが構造体を使います、構造体としてはメニューも所持も同じとします。
struct menu
{
char zaimei[64]; //食材名
int zairyu; //食材量
};
struct menu ar_menu[n]; //メニューリスト配列
c
1#include<stdio.h>2#include<string.h>3//構造体4structmenu5{6char zaimei[64];//食材名7int zairyo;//食材量8int ninmae;//人前9};1011voidmain(void)12{13int i, n, m, b, c;14char d[64];15printf("How many (nemu):");16scanf("%d",&i);17structmenu ar_menu[i];//メニューリスト配列18memset(ar_menu,0,sizeof(ar_menu[i]));//NULL clear1920printf("nemus name & qty\n");21for(n =0; n < i; n++)22{23scanf("%s", ar_menu[n].zaimei);//食材名24scanf("%d",&ar_menu[n].zairyo);//食材量25}26printf("How many you have:");27scanf("%d",&b);28printf("Your have name & qty:\n");29for(n =0; n < b; n++)30{31memset(d,0,64);32scanf("%s",d);33scanf("%d",&c);34for(m =0; m < i; m++){35if(strstr(ar_menu[m].zaimei, d)!=0){36 ar_menu[m].ninmae = c / ar_menu[m].zairyo;37break;38}39}40}41int min;42for(m =0; m < i; m++){43if( m ==0) min = ar_menu[m].ninmae;44if( ar_menu[m].ninmae < min){45 min = ar_menu[m].ninmae;46}47}48printf("The answar is : %d\n", min);49getchar();50getchar();51}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。