Program o peselach

0

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

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
  1. po kiego do funkcji przekazujesz plik skoro i tak czytasz z cin?
  2. 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ć

1 użytkowników online, w tym zalogowanych: 0, gości: 1