• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Prosze o pomoc w zadaniu. c++ funckje

Object Storage Arubacloud
0 głosów
255 wizyt
pytanie zadane 9 stycznia 2018 w C i C++ przez Stasieg Początkujący (290 p.)

Napisz funkcje wywolywana z dwoma argumentami typu rzeczywistego. Zadaniem funkcji jest porownanie podanych wartosci ze soba i wywolanie wiekszej z nich.

 "float wieksza(float liczba_1, liczba_2)"

 Mialem pomysl by zrobic takie cos"

float wieksza(float liczba_1, float liczba_2){
    return if(liczba_1>liczba_2){
        cout<<liczba_1<<" > "<<liczba_2;
    };"

ale problem polega na tym, że nie wiem w jaki sposob zapisac if w funkcji. Prosze o udzielenie mi pomocy :)

3 odpowiedzi

+1 głos
odpowiedź 9 stycznia 2018 przez damianeqe Gaduła (4,380 p.)

Jeżeli chcesz zrobić tak jak napisałeś, to możesz użyć skróconego if'a

float wieksza(float liczba_1, float liczba_2)
{ 
    return (liczba_1>liczba_2) ?  liczba_1 : liczba_2;
}

 

0 głosów
odpowiedź 9 stycznia 2018 przez chucksqll Stary wyjadacz (12,930 p.)
float wieksza(float liczba_1, float liczba_2)
{
if(liczba_1>liczba_2) return  liczba_1;
if(liczba_1<liczba_2) return liczba_2;
}

Po prostu przed returnem piszesz tego if'a, tyle że funkcja float... musi zwracać float'a, tak więc coś w tym stylu.

komentarz 9 stycznia 2018 przez Stasieg Początkujący (290 p.)
Dziekuje!

A jak juz Pana zlapalem to chcialbym zapytac w jaki sposob zrobic by funkcja po podaniu z klawiatury np. liczby 1 wywolywala jakis wyraz np jeden?
komentarz 9 stycznia 2018 przez chucksqll Stary wyjadacz (12,930 p.)
Nie do końca rozumiem. Chcesz aby każda liczba odpowiadała jakiemuś wyrazowi?
komentarz 9 stycznia 2018 przez Stasieg Początkujący (290 p.)
Tak, na przykladzie miesiacow:

wpisuje 1, funkcja wywoluje wyraz "styczen".
komentarz 9 stycznia 2018 przez chucksqll Stary wyjadacz (12,930 p.)

No to np. tworzysz tablicę stringów z nazwami miesięcy pobierasz od użytkownika liczbę i po prostu wypisujesz miesiac z podanym indeksem. Coś takiego

std::string miesiace[ 12 ] =
{
    "styczen", "luty",
    "marzec", "kwiecien",
    "maj", "czerwiec",
    "lipiec", "sierpien",
    "wrzesien", "pazdziernik",
    "listopad", "grudzien";
}
int i;
std::cin>>i;
std:cout<<miesiace[i+1];

 

komentarz 9 stycznia 2018 przez Stasieg Początkujący (290 p.)
Tylko, ze chcialbym to zrobic za pomoca funckji ale kompletnie nie mam pomyslu jak. Z 15 zadan tylko to pozostawilem poki co bez rozwiazania.
komentarz 9 stycznia 2018 przez chucksqll Stary wyjadacz (12,930 p.)

No to wrzucasz to do funkcji załóżmy

std::string choice(int a)
{
  std::string miesiace[ 12 ] =
 {
    "styczen", "luty",
    "marzec", "kwiecien",
    "maj", "czerwiec",
    "lipiec", "sierpien",
    "wrzesien", "pazdziernik",
    "listopad", "grudzien"
 }
return miesiace[a+1];
}

Prościej nie umiem

komentarz 9 stycznia 2018 przez Arkadiusz Sikorski Pasjonat (20,160 p.)

Indeks tablicy powinien być pomniejszony o 1, a nie zwiększony o 1. No chyba że chciałbyś, żeby zwracany był wyraz "styczeń" po podaniu wartości -1 wink

komentarz 9 stycznia 2018 przez chucksqll Stary wyjadacz (12,930 p.)
No masz rację zrobiłem na początku błąd skopiowałem i nie zauważyłem.
komentarz 9 stycznia 2018 przez Stasieg Początkujący (290 p.)
#include <iostream>

using namespace std;
///////////////////////////////////////////////
int miesiac(int ktory){
	int miesiace;
	string choice(int ktory)

  string miesiace[12] =
 {
    "styczen", "luty",
    "marzec", "kwiecien",
    "maj", "czerwiec",
    "lipiec", "sierpien",
    "wrzesien", "pazdziernik",
    "listopad", "grudzien"
 }
	return miesiace[ktory-1];
		}
//////////////////////////////////////////////

int main(int argc, char** argv) 
{//
	int miech;
		
	cout<<"Po wpisaniu cyfry miesiaca, program wyswietli jego pelna nazwe"<<endl;
		cout<<"\t\nPodaj cyfre miesiaca: ";
			cin>>miech;
		cout<<"\n\tMiesiac ktoremu odpowiada cyfra "<<miech<<" to - "<<void miesiac(miech)<<endl;


cout<<endl;
system("pause");
return 0;
}//

Zrobilem takie cos ale nie dziala

komentarz 9 stycznia 2018 przez Knayder Nałogowiec (37,640 p.)
float wieksza(float liczba_1, float liczba_2)
{
    if(liczba_1>liczba_2) return  liczba_1;
    if(liczba_1<liczba_2) return liczba_2;
}

Po co ty dwa razy sprawdzasz która jest większa? Jeżeli sprawdziłeś liczba_1>liczba_2, to nie musisz drugi raz sprawdzać.
 

float wieksza(float liczba_1, float liczba_2)
{
    if(liczba_1 > liczba_2)
        return liczba_1;
    return liczba_2;
}

 

0 głosów
odpowiedź 9 stycznia 2018 przez Avernis Nałogowiec (27,400 p.)

możesz użyć funkcji "std::max". Funkcja ta zwraca większą z 2 podanych wartości. Przykładowo:


int najw = std::max(1, 4);

najw będzie równe 4, bo 4 jest większe

Podobne pytania

–2 głosów
1 odpowiedź 548 wizyt
pytanie zadane 10 stycznia 2018 w C i C++ przez Stasieg Początkujący (290 p.)
+1 głos
1 odpowiedź 276 wizyt
0 głosów
3 odpowiedzi 660 wizyt
pytanie zadane 6 października 2021 w C i C++ przez polandonion Mądrala (7,040 p.)

92,547 zapytań

141,390 odpowiedzi

319,509 komentarzy

61,932 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...