Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Tablice - problem w znalezieniu wartości min

Ostatnio zmodyfikowano 2016-07-25 12:11
Autor Wiadomość
Smule
Temat założony przez niniejszego użytkownika
Tablice - problem w znalezieniu wartości min
» 2016-07-25 01:39:30
Witam,
proszę o pomoc. Deklaruję tablicę jednowymiarową o rozmiarze "a", a następnie podaję do niej kolejne wartości. Znalezienie wartości max, działa, ale w wartości min wychodzi odpowiedź nan.
C/C++
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
    int a;
    int i;
    int t[ a ];
    cout << "Podaj ilosc miejsc w tablicy: ";
    cin >> a;
    for( i = 0; i < a; i = i + 1 )
    {
        cout << "Podaj wartosc tablicy nr. " << i + 1 << ": ";
        cin >> t[ i ]; }
    float max;
    t[ 0 ] = max;
    for( i = 0; i < a; i = i + 1 )
    {
        if( t[ i ] > max )
        {
            max = t[ i ];
        }
    }
    cout << "Najwieksza wartosc w tablicy to: " << max;
    float min;
    t[ 0 ] = min;
    for( i = 0; i <= a; i = i + 1 )
    {
        if( min > t[ i ] )
        {
            min = t[ i ];
        }
       
    }
    cout << "\nNajmniejsza wartosc w tablicy to: " << min;
    cout << "\n";
    system( "pause" );
    return 0;
}
P-150235
mateczek
» 2016-07-25 05:30:01
tu nic nie działa :) dokładnie wszystko na odwrót!!!
C/C++
#include <iostream>
using namespace std;

int main() {
    int rozmiar;
    cout << "Podaj ilosc miejsc w tablicy: ";
    cin >> rozmiar;
    int * tablica = new int[ rozmiar ]; //dynamicznie alokowana tablica o nieznanym w czasie kompilacji rozmiarze
    for( int i = 0; i < rozmiar; i++ ) {
        cin >> tablica[ i ]; //wypełnianianie tablicy
    }
   
    int min, max;
    min = max = tablica[ 0 ];
    for( int i = 1; i < rozmiar; i++ ) {
        if( tablica[ i ] > max ) max = tablica[ i ];
       
        if( tablica[ i ] < min ) min = tablica[ i ];
       
    }
    cout << "minimum= " << min << " a max= " << max << endl;
    delete[] tablica;
}
P-150236
carlosmay
» 2016-07-25 05:31:34
C/C++
int a;
int i;
int t[ a ];
cout << "Podaj ilosc miejsc w tablicy: ";
cin >> a;
To nie ma sensu (kolejność działań).
Deklaracja tablicy statycznej musi być wartością
const
.

Znalezienie wartości max, działa,
Czysty przypadek.
P-150237
Kakazoo
Tablice statyczne i dynamiczne
» 2016-07-25 12:11:24
Niestety ale deklaracja tablicy dynamicznej czyli takiej, która nie ma z góry określonej wartości odbywa się tak jak masz wyżej, za pomocą wskaźników ( poznasz je po * ). Jeśli jesteś początkującym nie dotykaj tego tematu bo jest trudny, a lepiej korzystaj z tablic statycznych o z góry ustalonej wielkości. Do alokacji pamięci dojdziesz w swoim czasie.
P-150239
« 1 »
  Strona 1 z 1