Hej, mam do zrobienia kilka zadań w jednym programie i gdzieś robię błąd, którego nie widzę, bo w oddzielnych programach funkcje działają, ale jak wrzucę je do jednego programu to chodzi tylko zadanie 2.
#include <iostream>
#include <iomanip>
#include<stdio.h>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <limits>
using namespace std;
void wprowadzLiczba(int[], int);
int suma_ed(int[], int);
double srednia_ed(int[], int);
void getLiczbaA(int [], int size);
int getLowest(int[], int size, int&);
// ---------------------------------- ZADANIE 1 ----------------------------------
void wprowadzLiczba(int tab1[], int wymiar)
{
int indeks;
for (indeks=0; indeks <= wymiar-1; indeks++)
{
cout << "Podaj liczbe: " << (indeks+1) << ": ";
cin >> tab1[indeks];
}
}
int suma_ed(int tab1[], int wymiar)
{
int suma=0;
for (int number=0; number<=wymiar; number ++)
if(tab1[number]>0)
suma += tab1[number];
return suma;
}
double srednia_ed(int tab1[], int wymiar)
{
int suma; double srednia;
for (int number=0; number<=wymiar; number ++)
if(tab1[number]<0)
{
suma+=tab1[number];
srednia = (double)suma/tab1[number];
}
return srednia;
}
// ---------------------------------- ZADANIE 2 ----------------------------------
void getLiczbaA(int numbers[], int size)
{
int index;
for (index=0; index <= size-1; index++)
{
cout << "Podaj liczbe: " << (index+1) << ": ";
cin >> numbers[index];
}
}
int getLowest(int numbers[], int size, int& ile_razy)
{
int i;
int lowest;
lowest = numbers[0];
ile_razy=0;
for (int num=1; num<size; num ++)
{
if(numbers[num]<lowest)
lowest = numbers[num];
}
for (int num=0; num<size; num ++)
{
if(numbers[num]==lowest)
ile_razy++;
}
return lowest;
}
// ---------------------------------- Pola wyboru----------------------------------
int main()
{
int zadanie;
int wymiar = 10;
int tabY[wymiar];
int suma;
double srednia;
int size =10;
int tabA[size];
int ile;
int& ile_razy = ile;
while (true) {
cout << "\nWybierz numer zadania:" << endl;
cout << "1) Zadanie 3.1" << endl;
cout << "0) Wyjscie" << endl;
cin >> zadanie;
switch(zadanie) {
case 1: {
cout << fixed << showpoint << setprecision(2);
wprowadzLiczba(tabY, wymiar);
cout << "Suma elementow wiekszych od zera: " << suma_ed(tabY, wymiar) << endl;
cout << "Srednia elementow mniejsza od zera: " << srednia_ed(tabY, wymiar) << endl;
}; break;
case 2: {
cout << fixed << showpoint << setprecision(2);
getLiczbaA(tabA, size);
cout << "Najmniejszy element to: " <<getLowest(tabA, size, ile_razy);
cout << endl;
cout << "Element minimalny wystapil w tablicy: " << ile_razy << " razy";
} break;
//case 5: zad5(); break;
case 0: return 0; break;
default:
cout << "Nie ma takiego cwiczenia!" << endl;
}
cout << "\nWcisnij enter aby kontynuowac" << endl;
cin.sync();
cin.get();
}
}