003
30.04.2003, 17:04 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft... (Operator)
|
bevor beefy wieder seine high-end-template-Lösung postet schick ich mal das hier
C++: |
#include <stdlib.h> #include <stdio.h>
int irand( int a, int e){ double r = e - a + 1; return a + (int)(r * rand()/(RAND_MAX+1.0)); }
int main(int argc, char* argv[]){
int i,j,anzahl1,anzahl2; char menge1[26],menge2[26],schnittmenge[26], vereinigungsmenge[26];
printf("Mächtigkeit Menge1(max26): "); scanf("%d",&anzahl1); printf("Mächtigkeit Menge2(max26): "); scanf("%d",&anzahl2);
for(i=0;i<26;i++){ menge1[i]=0; menge2[i]=0; schnittmenge[i]=0; vereinigungsmenge[i]=0;
}
for(i=0;i<anzahl1;i++){
j=irand(65,65+25); while(menge1[j-65]!=0)j=irand(65,65+25); menge1[j-65]=j; }
for(i=0;i<anzahl2;i++){
j=irand(65,65+25); while(menge2[j-65]!=0)j=irand(65,65+25); menge2[j-65]=j; }
for(i=0;i<26;i++){ if( (menge1[i]!=0) && (menge1[i]==menge2[i]) ) schnittmenge[i]=menge1[i]; if (menge1[i]!=0) vereinigungsmenge[i]=menge1[i]; else if (menge2[i]!=0) vereinigungsmenge[i]=menge2[i];
}
printf("\nMenge 1:\n"); for(i=0;i<26;i++) printf("%c",menge1[i]); printf("\n\nMenge 2:\n"); for(i=0;i<26;i++) printf("%c",menge2[i]); printf("\n\nSchnitt:\n"); for(i=0;i<26;i++) printf("%c",schnittmenge[i]); printf("\n\nVereinigung:\n"); for(i=0;i<26;i++) printf("%c",vereinigungsmenge[i]); printf("\n\n");
return 0; }
|
-- ...fleißig wie zwei Weißbrote |