c++ jak zach

Potrzebujesz pomocy z C, C++, perl, python, itp.
malinkalive
Beginner
Posty: 100
Rejestracja: 12 lutego 2007, 14:35

c++ jak zachęcić do współpracy strukturę i tablicę?

Post autor: malinkalive »

Witam.
Poniżej treść zadania i kod źródłowy

Kod: Zaznacz cały

Adam i Tomek to dwaj bracia mający wspólną pasję, którą są biegi na 100m. Razem uczęszczają na treningi do MKS „Orlik” i już niedługo będą mieli okazję zaprezentować się podczas zawodów o puchar burmistrza miasta Chrząchówek.
Ich wujek Leopold bardzo im kibicuje gdyż w młodości, także parał się tą dyscypliną i miał w niej spore osiągnięcia. Aby bardziej zmobilizować chłopców podczas treningów postanowił, że każdemu z nich wypłaci jako sponsor pewną kwotę pieniędzy, która będzie zależna od ich osiągnięć, które chłopcy mają za zadanie zapisywać w tabelce.
Kwota jaką ma zamiar wypłacić wujek każdemu z nich wyliczana będzie wg wzoru:
kw = lc * 100 zł
[B]gdzie[/B]
kw – kwota do zapłaty
lc – ilość elementów najdłuższego podciągu zawartego w tabeli osiągnięcia 
[B]Sprawdź:[/B]
 
[LIST=1]
[*]ile pieniędzy od wujka dostanie każdy z chłopców
[*]z ilu elementów składa się najdłuższy malejący podciąg każdego z chłopców
[*]w jakim dniu tygodnia, chłopcy osiągnęli swoje najlepsze wyniki
[/LIST]
 [B]W ramach realizacji zadania należy: [/B] 
 
[LIST]
[*]zdefiniować odpowiednie funkcje.
[*]zdefiniować strukturę składającą się z pól: dzien, wynik
[*]zdefiniować tablicę typu użytkownika i wprowadzić do niej dane przedstawione 
w tabelkach
[*]zapisać wynik w pliku tekstowym
[*]zabezpieczyć program przed możliwością podawania błędnych wartości
[/LIST]
 adam 

pon 12,69
wto 12,62
sro 12,55
itd.

tomek

pon 12,62
wto 12,63
sro12,54
itd.

Kod: Zaznacz cały

#include <iostream>
#include <algorithm>
#include <string>
#include <conio.h>
using namespace std;

//deklaracja struktur ktore jeszcze nic nie robią
struct adam {
  string strDzien;
  
  double strWynik;
  };

struct tomek {
  string strDzien;
  double strWynik;
  }; 

double najlepszy_czas_adam()
 {
    double adamDane [12] = {12.69,12.62,12.55,12.58,12.53,12.54,12.58,12.52,12.50,12.47,12.48,12.43};
    double min=adamDane[0];
    for (int i=0;i<12;i++)
    if (adamDane[i]<min) min=adamDane[i];
     cout <<"najlepszy czas adam "<<min<<endl;
 }
   
double najlepszy_czas_tomek()
 {
    double tomekDane [12]= {12.62,12.63,12.54,12.55,12.49,12.51,12.48,12.46,12.48,12.41,12.43,12.42};
    double min=tomekDane[0];
    for (int i=0;i<12;i++)
    if (tomekDane[i]<min) min=tomekDane[i];
     cout <<"najlepszy czas tomek "<<min<<endl;
 }

int main()
{
najlepszy_czas_adam();
najlepszy_czas_tomek();
getch();
}

Zacząłem od punktu 3 chciałem za pomocą tablicy i struktury określić w jakim dniu tygodnia chłopcy uzyskali najmniejsze czasy. Napisałem funkcję obliczającą najmniejszą wartość czasu ale teraz stoję przed problemem przypisania danej wartości liczbowej do dnia tygodnia. Podejrzewam, że najłatwiej będzie użyć do tego celu strukturę ale nie mam pomysłu jak to połączyć żeby uzyskać planowany efekt. Może jakaś podpowiedź?
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

malinkalive pisze:Może jakaś podpowiedź?
Poczytaj o definiowaniu własnych typów w C++.

Co do zaprezentowanego przez Ciebie kodu:
1. Wystarczy zdefiniować jedną strukturę o nazwie np. wyniki
2. Korzystając z tej struktury definiujesz własny typ (typedef)
3. Jak już masz zdefiniowany typ deklarujesz sobie tablicę wyników dla Adama i Tomka
4. Pisząc funkcję, korzystaj z przekazywania argumentów do funkcji. Przy takim rozwiązaniu funkcja jest jedna i wyszuka wynik w zależności od tablicy którą do niej przekażesz.
ODPOWIEDZ