Problem przy kompilacji w c++

zxcvkolos
Użytkownik
Użytkownik
Posty: 23
Rejestracja: 13 maja 2009, o 21:34
Płeć: Kobieta
Podziękował: 5 razy

Problem przy kompilacji w c++

Post autor: zxcvkolos »

Znowu mam problem z tym bledem. Co w tym kodzie jest zle wyskakuje mi blad invalid types const unsigned short int[int]

Kod: Zaznacz cały

#include <iostream> 

int main() 
{ 
    const unsigned short ITEMS =10;                
    int min;                    
    int indeks; 
    
    std::cout<<"Zostaniesz poproszony o wpisanie "<<ITEMS<< 
        " liczb. Moga one byc dodatnie lub ujemne, ale nie moga zwierac czesci ulamkowej.
"; 
    
    for(int i=0;i<ITEMS;i++)          
    { 
    std::cout<<"Podaj wartosc dla elementu o indeksie "<<i<<" : "; 
    std::cin>>ITEMS[i]; 
    } 
    
    min=ITEMS[0]; 
    

    
    for(int i=0;i<10;i++)              
    { 
     if(min>=ITEMS[i]) 
            { 
                min=ITEMS[i]; 
                indeks=i; 
                        }      
    } 
    
    std::cout<<"
"; 
    std::cout<<"Najmniejsza z podanych liczb to "<<min<<" o indeksie "<<indeks<<"
"; 
        
  
}
spajder
Użytkownik
Użytkownik
Posty: 735
Rejestracja: 7 lis 2005, o 23:56
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 2 razy
Pomógł: 133 razy

Problem przy kompilacji w c++

Post autor: spajder »

Przecież ITEMS jest stałą a nie tablicą...
zxcvkolos
Użytkownik
Użytkownik
Posty: 23
Rejestracja: 13 maja 2009, o 21:34
Płeć: Kobieta
Podziękował: 5 razy

Problem przy kompilacji w c++

Post autor: zxcvkolos »

a jak zrobic żeby oznaczała rozmiar tablicy? Proszę o pomoc

Miałam wczesniej taki program

#include<iostream>
using namespace std;

Kod: Zaznacz cały

int main() 
{ 
  
    int tablica[20];                //deklaracja 20 elementowej tablicy 
    int max,min;                    //zmienne pomocnicze 
    for(int i=0;i<20;i++)           //pętla nadania wartosci poszczególnym elementom tablicy 
    { 
            cout<<"Podaj wartosc dla elementu o indeksie "<<i<<" : "; 
            cin>>tablica[i]; 
    } 
   max=tablica[0]; 
   min=tablica[0]; 
    int index; 

    
    for( int i=0;i<20;i++)              //pętla wyszykująca najmniejszy element tablicy 
    { 
            if(min>=tablica[i]) 
            { 
         min=tablica[i]; 
                            
                              index=i; 
                        
                              } 
          
} 
        
        
    cout<<endl<<"Najmniejsza z podanych liczb to "<< min << " o indeksie: " <<index<< endl<<endl; 
        
   char c; 
   cin >> c; 
    return 0; 
} 
ale chce go tak zmodyfikowac żeby łatwo mozna było zmienic rozmiar tablicy tylko w jednym miejscu a nie w kilku
Ostatnio zmieniony 14 maja 2009, o 21:30 przez zxcvkolos, łącznie zmieniany 1 raz.
Quentin
Użytkownik
Użytkownik
Posty: 177
Rejestracja: 16 lut 2009, o 18:29
Płeć: Mężczyzna
Podziękował: 50 razy

Problem przy kompilacji w c++

Post autor: Quentin »

Naucz się definiować tablice w C++.

Kod: Zaznacz cały

const int rozmiar = 10;
int tablica[rozmiar];
zxcvkolos
Użytkownik
Użytkownik
Posty: 23
Rejestracja: 13 maja 2009, o 21:34
Płeć: Kobieta
Podziękował: 5 razy

Problem przy kompilacji w c++

Post autor: zxcvkolos »

po zmianie na ten kod

Kod: Zaznacz cały

#include <iostream> 

int main() 
{ 
    
    const int rozmiar = 10;
	int tablica[rozmiar];     
    int min;                    
    int indeks; 
    
    std::cout<<"Zostaniesz poproszony o wpisanie "<<tablica<< 
        " liczb. Moga one byc dodatnie lub ujemne, ale nie moga zwierac czesci ulamkowej.
"; 
    
    for(int i=0;i<tablica;i++)          
    { 
    std::cout<<"Podaj wartosc dla elementu o indeksie "<<i<<" : "; 
    std::cin>>tablica[i]; 
    } 
    
    min=tablica[0]; 
    

    
    for(int i=0;i<10;i++)              
    { 
     if(min>=tablica[i]) 
            { 
                min=tablica[i]; 
                indeks=i; 
                        }      
    } 
    
    std::cout<<"
"; 
    std::cout<<"Najmniejsza z podanych liczb to "<<min<<" o indeksie "<<indeks<<"
"; 
        
  
}
Wyskauje mi błąd
ISO C++forbids comparison between pointer and integer

Moze mi ktoś napisac jak bedzie wygladac cały kod porawnie. Kompletnie się już w tym głubie
Quentin
Użytkownik
Użytkownik
Posty: 177
Rejestracja: 16 lut 2009, o 18:29
Płeć: Mężczyzna
Podziękował: 50 razy

Problem przy kompilacji w c++

Post autor: Quentin »

Nazwa tablicy nie oznacza przez domniemanie jej zerowego elementu, ale jego adres !!! Piszesz jakąś pętle for, gdzie jako warunek wpisujesz:
rób dopóki 'i' jest mniejsze od jakiegoś adresu
Bezsens jednym słowem. Może poczytaj o tablicach gdzieś a nie strzelaj przypadkowy kod to nie będziesz się w tym gubiła.

Porównujesz pisanie programu do loterii jakiejś - może napiszę coś głupiego i jak mi się poszczęści to zadziała :)

Kod: Zaznacz cały

#include <iostream>

int main()
{
   
    const int rozmiar = 10;
    int tablica[rozmiar];     
    int min;                   
    int indeks;
   
    std::cout<<"Zostaniesz poproszony o wpisanie "<< rozmiar <<
        " liczb. Moga one byc dodatnie lub ujemne, ale nie moga zwierac czesci ulamkowej.\n";
   
    for(int i=0;i<rozmiar;i++)    //ew. i < 10 bo to to samo     
    {
    std::cout<<"Podaj wartosc dla elementu o indeksie "<<i<<" : ";
    std::cin>>tablica[i];
    }
   
    min=tablica[0];
   

   
    for(int i=0;i<10;i++)             
    {
     if(min>=tablica[i])
            {
                min=tablica[i];
                indeks=i;
                        }     
    }
   
    std::cout<<"\nNajmniejsza z podanych liczb to "<<min<<" o indeksie "<<indeks<<"\n";
       
 }
ODPOWIEDZ