Przerwanie wczytywania danych do tablicy
Ostatnio zmodyfikowano 2015-12-12 16:10
Matis28 Temat założony przez niniejszego użytkownika  | 
Przerwanie wczytywania danych do tablicy » 2015-12-11 18:26:42 Cześć.Chciałem napisać program, który wczyta do tablicy nie więcej niż 100 liczb a w razie nie podania żadnej wartości przerwie wczytywanie danych ale nie mam kompletnie pomysłu jak to zrobić. Narazie udało mi się coś takiego wyskrobać   for( int i = 0; i < 100; i++ ) {     float tab[ 100 ];     scanf_s( "%f", & tab[ i ] ); }  | 
 | 
1aam2am1  | 
» 2015-12-11 21:23:42 Co rozumiesz przez żadną wartość.  | 
 | 
carlosmay  | 
» 2015-12-11 21:38:44 Zmienna typu liczbowego musi mieć jakąkolwiek wartość. Nie da się wczytać pustej zmiennej jak  std::string .  | 
 | 
Matis28 Temat założony przez niniejszego użytkownika  | 
» 2015-12-11 23:13:33 Dopiero teraz zrozumiałem jakie mam zadanie. Dzięki za pomoc :) Edit: Jednak teraz mam odrobinę inny problem. Chciałem żeby program wczytał dane do tablicy. Wyłączył się gdy użytkownik poda jakąkolwiek inną wartość niż liczbę typu float a następnie znalazł w tej tablicy największą i najmniejszą wartość. Na razie jedyne co robi dobrze to wczytuje liczby jednak gdy skończy i chcę aby wyświetliło max i min działa jedynie min.Oto kod void wypelni( float tab[], int & ile ) {     for( int i = 0; i < 100; i++ ) {         scanf( "%f", & tab[ i ] );         ile++;     } }
  void wypisz( float tab[], int ile ) {     float max = tab[ 0 ];     float min = tab[ 0 ];     float mediana;     for( int i = 0; i <= ile; i++ ) {         if( max < tab[ i ] )              max = tab[ i ];              }     for( int i = 0; i <= ile; i++ ) {         if( min > tab[ i ] )              min = tab[ i ];              }     cout << "Najmniejsza wartosc wynosi: " << min << endl;     cout << "Najwieksza wartosc wynosi: " << max << endl;     system( "pause" ); }
  int main() {     int a;     float tab[ 100 ];     int iwprowadzone = 0;     do {         cin >> a;         switch( a ) {         case 6: {                 wypelni( tab, iwprowadzone );             }         case 7: {                 wypisz( tab, iwprowadzone );             }             default: {                 break;             }         }         cin.ignore( 10, '\n' );     } while( a != 10 );               return 0; }  | 
 | 
carlosmay  | 
» 2015-12-12 00:39:32 for( int i = 0; i <= ile; i++ )
   Warunki pętli powodują wyjście poza tablicę. int iwprowadzone = 0;  ta zmienna jest ciągle inkrementowana i przy kolejnym powtórzeniu wczytywania ustala liczbę wczytanych elementów większy niż faktyczny rozmiar tablicy.  | 
 | 
Matis28 Temat założony przez niniejszego użytkownika  | 
» 2015-12-12 16:10:09 Problem rozwiązany. Dzięki za pomoc :)  | 
 | 
|  « 1 »  |