Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Matura 2013 zad6

Ostatnio zmodyfikowano 2014-01-06 14:22
Autor Wiadomość
masa...
Temat założony przez niniejszego użytkownika
Matura 2013 zad6
» 2014-01-06 12:20:50
Witam.
Niestety wujek google mi nie pomógł(co za drań). Mam problem z rozwiazaniem zadania z matury 2013.
Zagubione dziecko ze mnie już przy podpunkcie A. Jak string zamienić na tablice znaków ?
Treść zadania :
Zadanie 6. Liczby (10 pkt)
W pliku dane.txt znajduje się 5 000 liczb całkowitych z przedziału od 108 do 20000008,
zapisanych w systemie ósemkowym, po jednej liczbie w wierszu. W wybranym przez siebie
języku programowania napisz program, za pomocą którego uzyskasz odpowiedzi
na poniższe polecenia. Odpowiedzi zapisz w pliku wyniki6.txt, a odpowiedź do każdego
podpunktu poprzedź literą oznaczającą ten podpunkt.
 
a) Ile spośród liczb zapisanych w pliku dane.txt spełnia taki warunek, że pierwsza cyfra
tej liczby jest równa ostatniej cyfrze tej samej liczby?
b) Podaj, ile liczb w pliku dane.txt, po ich zapisaniu w systemie dziesiętnym, spełnia
warunek podany w podpunkcie a), tzn. pierwsza cyfra liczby jest równa ostatniej cyfrze
tej samej liczby.
Przykład: Liczba 2038 = 13110 spełnia podany warunek, natomiast 71238 = 366710 nie
spełnia żądanego warunku.
c) Ile spośród liczb zapisanych w pliku dane.txt spełnia warunek, że rozpoczynając od
najbardziej znaczącej cyfry w zapisie ósemkowym, każda kolejna cyfra tej liczby nie jest
mniejsza od cyfry poprzedzającej? Podaj największą i najmniejszą liczbę z pliku
dane.txt, które spełniają ten warunek.
Przykład: Liczba 123357 spełnia podany warunek, ponieważ 1≤2≤3≤3≤5≤7.


Moje wypociny :
C/C++
#include <iostream>
#include <cstring>
#include <fstream>
#include <cstdlib>

using namespace std;

int main( int argc, char ** argv ) {
   
    string linia;
    fstream plik;
   
    plik.open( "dane.txt", ios::in );
    if( plik.good() == true )
    {
        for( int i = 0; i < 5000; i++ )
        {
           
            getline( plik, linia );
            char tab[ 8 ] = linia;
            int p = strlen( tab ) - 1;
            int l = 0;
            if( tab[ l ] == tab[ p ] );
           
            {
                for( int j = 0; j < p; j++ )
                     cout << tab[ j ];
               
            }
        }
    }
   
   
   
    return 0;
}
 
P-101351
pekfos
» 2014-01-06 13:26:01
W czym problem?
P-101379
masa...
Temat założony przez niniejszego użytkownika
» 2014-01-06 13:34:53
W tej linijce.
C/C++
char tab[ 8 ] = linia;

wyskakuje błąd. nie wie sumie jak tego stringa zamienić na tablice znaków.
P-101382
pekfos
» 2014-01-06 13:43:01
A po co go zmieniać?
P-101386
masa...
Temat założony przez niniejszego użytkownika
» 2014-01-06 13:52:03
To w tedy jak określić ile ciąg ma znaków ?
P-101388
pekfos
» 2014-01-06 14:09:59
linia.size()
?
P-101396
masa...
Temat założony przez niniejszego użytkownika
» 2014-01-06 14:22:39
Ooo. Dzięki ;p Pochrzaniło mi się troszkę to wszystko ;p
P-101402
« 1 »
  Strona 1 z 1