
Polowe rzeczy umiescile tutaj
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
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
#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;
}#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
#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