___Informatik
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <limits.h>
#include <time.h>
using namespace std;
int erzeuge_r(int feld[], int w, int n);
void fuenfzehnzeilen(int i, int feldzahlen);
void grafik(int feld[], int grafik[], int n);
void endausgabe(int grafik1200[], int grafik200[]);
int main ()
{
srand(time(NULL));
int n, w, c1, c2, x;
int feld1200[1000], feld200[1000];
int grafik1200[25], grafik200[25];
for (int i=25; i>0; i–) grafik1200[i]=0; //Komplettes Feld null-setzten
for (int i=25; i>0; i–) grafik200[i]=0; //Komplettes Feld null-setzten
cout << „Anzahl der gewuenschten 1200Ohm Wiederstaende mit 1% Toleranz(max. 1000): „;
cin >> n;
w=1200;
c1=erzeuge_r(feld1200, w, n);
for (int i=0; i<n; i++)
{
x=feld1200[i];
fuenfzehnzeilen(i, x);
}
cout << endl << endl;
w=200;
c2=erzeuge_r(feld200, w, n);
for (int i=0; i<n; i++)
{
x=feld200[i];
fuenfzehnzeilen(i, x);
}
cout << endl << endl << „Anzahl der Wiederstaende mit genau 1200Ohm: „ << c1 << endl;
cout << „Anzahl der (6*200)Ketten mit genau 1200Ohm: „ << c2 << endl;
grafik(feld200, grafik200, n);
grafik(feld1200, grafik1200, n);
endausgabe(grafik1200, grafik200);
getchar ();
return 0;
}
int erzeuge_r(int feld[], int w, int n)
{
int counter=0;
for (int i=0; i<n; i++)
{
if (w==1200) feld[i]=(w-(w/100))+(rand()%((2*(w/100))+1));//Wert plus-minus ein prozent
if (w==200)
{
int temp1, temp2;
for (int j=6; j>0; j–)
{
if (j==6) temp2=temp1;
temp1=(w-(w/100))+(rand()%((2*(w/100))+1));
if (j<6) temp2=temp1+temp2;
}
feld[i]=temp2;
}
if (feld[i]==1200) counter++;
}
return (counter);
}
void fuenfzehnzeilen(int i, int feldzahlen)
{
cout << feldzahlen << “ „;
if ((i+1)%15==0) cout << endl;
}
void grafik(int feld[], int grafik[], int n)
{
for (int i=n-1; i>=0; i–)
{
switch (feld[i])
{
case 1188: grafik[0]++; break;
case 1189: grafik[1]++; break;
case 1190: grafik[2]++; break;
case 1191: grafik[3]++; break;
case 1192: grafik[4]++; break;
case 1193: grafik[5]++; break;
case 1194: grafik[6]++; break;
case 1195: grafik[7]++; break;
case 1196: grafik[8]++; break;
case 1197: grafik[9]++; break;
case 1198: grafik[10]++; break;
case 1199: grafik[11]++; break;
case 1200: grafik[12]++; break;
case 1201: grafik[13]++; break;
case 1202: grafik[14]++; break;
case 1203: grafik[15]++; break;
case 1204: grafik[16]++; break;
case 1205: grafik[17]++; break;
case 1206: grafik[18]++; break;
case 1207: grafik[19]++; break;
case 1208: grafik[20]++; break;
case 1209: grafik[21]++; break;
case 1210: grafik[22]++; break;
case 1211: grafik[23]++; break;
case 1212: grafik[24]++; break;
}
}
}
void endausgabe(int grafik1200[], int grafik200[])
{
cout << „1200er“ << „\t\t\t\t\t“ << „200er“<< endl;
for (int i=24; i>0; i–)
{
{
cout << „|“;
for (int j=grafik1200[i]; j>0; j–)
{
cout << „x“;
}
}
cout << fixed << setprecision(4);
{
cout << setw(20) << „\t\t|“;
for (int j=grafik200[i]; j>0; j–)
{
cout << „x“;
}
cout << endl;
}
}
}

ein wort: nerd.
elishes schrieb dies am Januar 22, 2009 um 10:43 |