Salve ragazzi sono un nuovo arrivato!
Premetto che sono alle prime armi quindi probabilmente avrò commesso errori banalissimi però, per me sono macigni insormontabili ...ehehe
Allora il mio problema riguarda il seguente esercizio:
-Traccia(da svolgere con sottoprogrammi):
SIA DATO SU FILE UNA SEQUENZA DI NUMERI INTERI COMPRESI TRA 0 E 127. SI TRASFORMI OGNI
NUMERO IN BINARIO SU 8 BIT E SI MEMORIZZI LA SEQUENZA IN UN ARRAY DI BYTE. L'ELEMENTO PIù SIGNIFICATIVO DI OGNI BYTE,INOLTRE, SIA POSTO A 0 SE IL NUMERO DI 1 DEL BYTE è PARI;
SIA POSTO A 1 SE IL NUMERO DI 1 DEL BYTE è DISPARI. STAMPA A VIDEO L'ARRAY.
ora io ho provato e convertire ma non converte in modo corretto...
1) main
#include "lib.h"
int main()
{
vettore v,s;
int r;
int num;
leggi(v,r);
for(int i=0;i<r;i++){
converti(s,v);
invertiVettore(s);
stampaVettore(s);
cout<<endl;
}
system("pause");
return 0;
}
2).h
#ifndef lib_h
#define lib_h
#include <iostream>
#include <cstdlib>
#include <string.h>
#include <fstream>
#define N 128
using namespace std;
typedef int vettore [N];
int leggi(vettore &,int&);
void converti(vettore &,vettore & );
void invertiVettore(vettore &);
void stampaVettore(vettore );
#endif
3).cpp
#include "lib.h"
int leggi(vettore & v,int & r){
int i=0;
fstream f;
f.open("f2.txt",ios::in);
if(!f)
cout<<"Errore di lettura!\n";
else{
f>>r;
for(int i=0;i<r;i++)
f>>v[i];
}
f.close();
for(int i=0;i<r;i++)
cout<<v[i]<<"\n";
return v[i];
}
void converti(vettore & v,vettore &num){
for(int i=0;i<8;i++){
if(num[i]%2==0){
v[i]=0;
num[i]=num[i]/2;
}else{
v[i]=1;
num[i]=num[i]/2;
}
}
}
void invertiVettore (vettore & v){
vettore scambio;
for (int i=0; i<8; i++)
scambio[i]=v[8-1-i];
for (int i=0; i<8; i++)
v[i]=scambio[i];
}
void stampaVettore (vettore v){
for (int i=0; i<8; i++)
cout<<""<<v[i]<<" ";
cout<<"\n";
}
questo è il codice separato in main,libreria h e cpp.
il resto dell'esercizio non saprei dove mettere mano...
Mica qualcuno può aiutarmi??
Grazie in anticipoooo
ps.la traccia dell esercizio è scritta in maiuscolo poiche copiata dall sito del prof...