Napisać program wczytujący ciąg liczb rzeczywistych z
klawiatury (dowolny ciąg max 100 liczb). Liczby te należy zapisywać do tablicy float tab[100]. Następnie należy wyznaczyć wartość średnią i maksymalną tych liczb. Wczytywanie jest realizowane do momentu kiedy użytkownik wprowadza liczby (wtedy scanf(‘’%f”,&liczba)==1). Po wprowadzeniu litery lub znaku specjalnego program kończy wczytywanie liczb do tablicy i prezentuje wyniki. Wskazówka: zacznij od napisania programu który zawsze wczyta dokładnie 10 liczb
Mam pytanie, realizuję powyższe zadanie i dlaczego w takim kodzie, tzn. wczytuję dopóki użytkownik podaje liczby, a zaś jak na razie je wypisuję, to po wpisaniu przez użytkownika nie liczby, mam jakieś dziwne przybliżenie ostatniego elementu?
#include<iostream>
#include<stdio.h>
#include<conio.h>
using namespace std;
int main()
{
float tab[100];
int i, k;
printf("Podaj liczbe rzeczywista: \n");
for (i = 0; i < 100; i++)
{
printf("%d - element: ", i+1);
if (scanf("%f", tab + i) == 0) // wczytanie nie powiodło się
break;
}// żeby pokazać, ile liczb się udało wczytać
for (k = 0; k < i; k++)
printf("%f\n", tab[k]);
_getch();
return 0;
}
Wpiszcie sobie np. 41, 85.5555, L
i otrzymacie: 41.000000, 85.555496
Skąd to się bierze?
zamiana znacznia [quote] na <quote>, dodanie znaczników `` oraz wstawienie kodu do posta
- @furious programming