offline
- tomislav91
- Počasni građanin
- Pridružio: 31 Maj 2008
- Poruke: 885
|
E sad, imam jedan, problem ili ne, sami odlucite. Treba programirati jedan eprom da radi tako sto uz pomoc ulaza(12) treba da led dioda swetli,recimo, ako je 7 za, znaci kao glasanje neko. E sad, treba napisati to u nekom programskom jeziku. Ja imam dve verzije, C i C++, od toga je C verzija, koja je meni lepsa, malo ne razumljiva sa tim engleskim nazivima varijabli, nije mi bas logicno sta koja radi, pa ako moze pomoc oko toga, i imam C program koji je jednostavniji, ali vizualno ne toliko okej. Sad me zanima ako neko zna kako da sad izaberem pravi program i ako treba izmeniti nesto.
#include<stdio.h>
#include<stdlib.h>
int main()
{
printf("Majority voting, 12 members, EPROM .bin-file generator.\n\n");
printf("A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 = verdict count\n\n");
char a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,res,dummy;
int des,jed;
FILE *f;
f=fopen("MV12bit.bin","w"); //file in write mode
if (!f) return 1;
for(a12=0; a12<=1; a12++)
for(a11=0; a11<=1; a11++)
for(a10=0; a10<=1; a10++)
for(a9=0; a9<=1; a9++)
for(a8=0; a8<=1; a8++)
for(a7=0; a7<=1; a7++)
for(a6=0; a6<=1; a6++)
for(a5=0; a5<=1; a5++)
for(a4=0; a4<=1; a4++)
for(a3=0; a3<=1; a3++)
for(a2=0; a2<=1; a2++)
for(a1=0; a1<=1; a1++)
for(a0=0; a0<=1; a0++)
{
res = a12+a11+a10+a9+a8+a7+a6+a5+a4+a3+a2+a1+a0;
des=res/10;
jed=res%10;
dummy = res>=7;
printf("%i %i %i %i %i %i %i %i %i %i %i %i %i = %i %i %i\n",a12,a11,a10,a9,a8,a7,a6,a5,a4,a3,a2,a1,a0,dummy,des,jed);
res = dummy | (des<<1) | (jed<<4);
fwrite(&res,sizeof(char),1,f);
}
fclose(f);
return 0;
}
i C++ kode
#include <iostream>
#include <string>
#include <fstream> //ova biblioteka nam treba za ispis u fajlu
using namespace std;
int main ()
{
int a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11, rezultat;
string ispis;
//napravimo objekat za pisanje fajla
ofstream file;
//otvorimo binarni fajl
file.open("moucnosti.bin", ios::binary | ios::out | ios::app);
for (a0=0;a0<=1;a0++)
for (a1=0;a1<=1;a1++)
for (a2=0;a2<=1;a2++)
for (a3=0;a3<=1;a3++)
for (a4=0;a4<=1;a4++)
for (a5=0;a5<=1;a5++)
for (a6=0;a6<=1;a6++)
for (a7=0;a7<=1;a7++)
for (a8=0;a8<=1;a8++)
for (a9=0;a9<=1;a9++)
for(a10=0;a10<=1;a10++)
for(a11=0;a11<=1;a11++)
{
rezultat=a0+a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+(2*a11) ;
if (rezultat>6)
ispis="01";
else
ispis="00";
cout<<ispis;
cout<<" ";
//upisemo podatke u fajl
file.write(ispis.c_str(),ispis.length());
}
//zatvorimo
file.close();
return 0;
}
|