#1 18-06-2012 23:41:44

afro_samuray_benG

Polowe rzeczy umiescile tutaj

Zarejestrowany: 23-01-2012
Posty: 30
Punktów :   

kolos Mr. Ostrowski

mam pytanie czy ktoś może mi pomóc rozwiązać przypadek z drugiego etapu kolosa

mam strukrutere miasto

struct miasto
{
       char nazwa[12];
       int liczba_mieszkancow;
       double powierzchnia;
};


-funkcje zwraacjącą obiekt typu miasto wywolana z parametrem typu char[12]. pole
nazwa zwaranego boiektu ma byc wypelniona wartoscia padana jako parametr
wywolania,
ploe liczba mieszkancow losowane z zakresu <1,10000>  pole powierzchni
losowane z zakresu <5.0, 9.9.
- zadeklarowac piecioelementowa tablice o nazwie region elemetow typu miasto
-wypelnic tablice region przy pomocy funkcji z punktu nr2
-przy pomocy rekurencji zapisac do pliku dane.txt elementy tablicy region w posataci odpowiedniego komunikatu
-otworzyc do odczytu plik 'dane i wyswitlic jego zawartosc na konsoli
bardzo dziękuję

Offline

 

#2 19-06-2012 10:48:45

wiemarcel

Administrator

Zarejestrowany: 13-11-2011
Posty: 32
Punktów :   

Re: kolos Mr. Ostrowski

Wstawiam także zdjęcie z zadania :

http://imageshack.us/photo/my-images/98 … 17484.jpg/

a jesli chodzi o program 1 to :

http://imageshack.us/photo/my-images/82 … 17485.jpg/

Ostatnio edytowany przez wiemarcel (19-06-2012 10:55:26)

Offline

 

#3 20-06-2012 01:03:31

krzotr

Truje dupe, ale jestem

Zarejestrowany: 20-11-2011
Posty: 22
Punktów :   

Re: kolos Mr. Ostrowski

Kod:

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>

using namespace std;

void pokaz( double Z[15] )
{
    for( int i = 0; i < 15; i++ )
    {
        cout << "\t" << Z[ i ] << "\n";
    }
}

void pokaz( int Z[15] )
{
    for( int i = 0; i < 15; i++ )
    {
        cout << "\t" << Z[ i ] << "\n";
    }
}

int main()
{
    int X[15];
    bool Y[15];
    double Z[15];

    srand( time( 0 ) );

    int i = 0;

    for( i = 0; i < 15; i++ )
    {
        X[ i ] = rand()%(20+1-(-10))+(-10);
    }

    for( i = 0; i < 15; i++ )
    {
        Y[ i ] = ( ( X[ i ] >= 0 ) ? true : false );
    }

    for( i = 0; i < 15; i++ )
    {
        Z[ i ] = ( Y[ i ] ? pow( X[ i ], 0.5 ) : 0 );
    }

    cout << "Zawartosc tablicy Z przed posortowaniem\n";

    pokaz( Z );
    // sortowanie
    for( i = 0; i < 15; i++ )
    {
        for( int j = 0; j < 15 - 1; j++ )
        {
            if( Z[ j ] > Z[ j + 1 ] )
            {
                swap( Z[ j ], Z[ j + 1 ] );
            }
        }
    }

    cout << "Zawartosc tablicy Z po posortowaniu\n";

    pokaz( Z );

    cout << "\n\n\n";

    pokaz( X );

    system( "pause" );

    return 0;
}

Kod:

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
#include <string.h>
#include <fstream>

using namespace std;

struct miasto
{
    char nazwa[12];
    int liczba_mieszkancow;
    double powierzchnia;
};

miasto wypelnij( char nazwa[12] )
{
    miasto m;

    strcpy( m.nazwa, nazwa );
    m.liczba_mieszkancow = rand()%( 10000+1-1 )+1;
    m.powierzchnia = ( rand()%( 99+1-50 )+50 )/10.0;

    return m;
}

void zapisz( int n, miasto m[5] )
{
    if( n < 0 )
    {
        return ;
    }

    zapisz( n - 1, m );

    ofstream p("dane.txt", ios::app);

    if( ! p.is_open() )
    {
        cout << "Nie mozna otworzyc pliku\n";
        system( "pause" );
        exit( 1 );
    }

    p << "Miasto: " << m[ n ].nazwa << "; ";
    p << "Liczba mieszkancow: " << m[ n ].liczba_mieszkancow << "; ";
    p << "Powierzchnia: " << m[ n ].powierzchnia << "\n";

    p.close();
}

int main()
{
    srand( time( NULL ) );

    miasto region[5];

    char nazwa[12];

    for( int i = 0; i < 5; i++ )
    {
        cout << "Podaj miasto: ";
        cin >> nazwa;

        region[ i ] = wypelnij( nazwa );
    }

    zapisz( 4, region );

    ifstream pi;

    pi.open( "dane.txt" );

    if( ! pi.is_open() )
    {
        cout << "Nie mozna otworzyc pliku\n";
        system( "pause" );
        exit( 1 );
    }


    char line[1000];
    pi.read( line, 1000 );
    cout << line;

    pi.close();

    system( "pause" );

    return 0;
}

Kolos2 - poprawa

Kod:

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <fstream>

using namespace std;

struct kursant
{
       char nazwisko[12];
       int rok_urodzenia;
       double ocena;
};

kursant dodajkursanta()
{
     kursant k;
     cout << "Nazwisko kursanta: ";
     cin >> k.nazwisko;
     
     k.rok_urodzenia = rand()%(2010+1-1940)+1940;
     k.ocena = (rand()%(500+1)) / 100.0;
     
     return k;
}

void wyswietl( kursant k )
{
     cout << k.nazwisko << ", urodzony w " << k.rok_urodzenia << ", ocena: " << k.ocena << "\n";
}

void zapisz( kursant szkolenie[], int i )
{
     if( i < 0 )
     {
         return ;
     }
     
     zapisz( szkolenie, i - 1 );
     
     ofstream p;
     
     p.open( "dane.txt", ios::app );
     p << szkolenie[ i ].nazwisko << ", urodzony w " << szkolenie[ i ].rok_urodzenia << ", ocena: " << szkolenie[ i ].ocena << "\n";
     p.close();
}


int main()
{
    srand( time( NULL ) );
    
    kursant szkolenie[5];
    
    cout << "Wypelnianie kursantow:\n";
     
    for( int i = 0; i < 5; i++ )
    {
         szkolenie[ i ] = dodajkursanta();
    }
    
    cout << "\nLista kursantow:\n";
    
    for( int i = 0; i < 5; i++ )
    {
         wyswietl( szkolenie[ i ] );
    }
       
    // czyszczenie aktualnej zawartosci pliku
    ofstream p;
    p.open( "dane.txt" );
    p.close();  
      
    zapisz( szkolenie, 4 );
    
    
    system( "pause" );
    
    return 0;
}

Ostatnio edytowany przez krzotr (24-06-2012 22:35:04)

Offline

 

Stopka forum

RSS
Powered by PunBB 1.2.23
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
osb Przybranowo pakiety wellness Ciechocinek