Mam napisać program wczytujący z pliku pesele, które są tam przedstawione mniej więcej tak:
53082806059
89100192752
85111779283
86080941169
89011129700
62033089803
62092569090
Pierwsze moje pytanie jest takie, jak wczytać do tablicy po jednej cyfrze, bo potrzebuję potem je dodawać i mnożyć oraz odwoływać się do pojedynczych cyfr. Weźcie pod uwagę, że ja to muszę później posortować. I "prawidłowe" pesele posortować i zapisać do pliku złe.
0
0
masz zamiar wczytać jeden pesel do tablicy, wykonać na nim działania i dopiero wczytać drugi? To nie jest zadanie z matury?
0
char pesel[12];
cin.getline(pesel,12);
for(int i=0;i<12;++i) pesel[i]-='0';
0
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
#define MAX 10
void wczytaj_pesele(fstream &plik)
{
char pesel[12];
cin.getline(pesel,12);
for(int i=0;i<12;++i) pesel[i]='0';
cout<<pesel;
}
int main(int argc, char *argv[])
{
fstream plik;
plik.open("pesel.txt",ios::binary|ios::in);
if(plik.good()==true)
{
cout <<"\nOtwarto plik.\n\n" << endl;
wczytaj_pesele(plik);
}else cout << "\n\nPliku nie otwarto.\n\n";
system("PAUSE");
return EXIT_SUCCESS;
}
0
- po kiego do funkcji przekazujesz plik skoro i tak czytasz z cin?
- Chciałeś liczby to masz w tablice 11 liczb 0..9 nie możesz je w ten sposób wyświetlić.
Sposoby na wyświetlenie:
for(int i=0;i<11;++i) cout<<(0+pesel[i]); cout<<endl;
for(int i=0;i<11;++i) cout<<(int)pesel[i]; cout<<endl;
0
On chce wczytać wszystkie pesele a później na nich obliczenia jakieś wykonywać... Takie zadanie na maturze kiedyś było tyle, że można było użyć Excel:)
Zakładam, że znasz liczbe peseli więc wstaw ją w miejsce X.
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
int tab[11][X];
fstream pesel;
string temp;
pesel.open("c:\pesele.txt");
for(int i=0; i<X; i++)
{
getline(pesel,temp);
for(int j=0; j<11; j++)
{
tab[j][i]=temp[j]-'0';
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
0
for(int i=0; i<X; i++)
{
for(int j=0; j<11; j++)
{
cout<<tab[j][i];
}
cout<<endl;
}
Tak wyświetl, u mnie działa bez problemu.
0
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
int X=100;
int tab[11][X];
fstream pesel;
string temp;
pesel.open("c:\pesele.txt");
for(int i=0; i<X; i++)
{
getline(pesel,temp);
for(int j=0; j<11; j++)
{
tab[j][i]=temp[j]-'0';
}
}
for(int j=0;j<11;++j) cout<<tab[j][1]; cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
0
Ponawiam pytanie jak policzyć ilość linijek w tekście, żeby taką właśnie tablicę utworzyć