x-kom hosting

Poprawka kodu C++

Przejdź do rekomendowanej odpowiedzi Autor: greston ,
Jogan
utworzono
utworzono

Witam.

Otóż jestem zielony w programowaniu ale napisałem program do którego należy wprowadzić 8 elementów tablicy po czym program wyświetli te elementy na ekranie, a następnie poda max i min wartości. Niestety przy wyświetlaniu wszystkich podanych elementów, dwa ostatnie elementy się nie wyświetlają. Program wyświetla tylko pierwsze 6 elementów i nie mogę znaleźć rozwiązania tego problemu.


Z góry dziękuje za pomoc!

 

#include <iostream>
#include <cstdlib>

using namespace std;

int
main ()
{
  int rozmiar = 8;
  float tablica[rozmiar];
  float max, min;
  cout << "Podaj elementy tablicy: \n";
  for (int i = 0; i <= 7; i++)
    {
      cout << "Element " << i + 1 << ": ";
      cin >> tablica[i];
    }
  cout << "\n";
  cout << "Wprowadzone elementy to: \n";
  for (int i = 0; i <= 5; i++)
    {
      cout << tablica[i] << " ";
    }
  max = tablica[0];
  for (int i = 0; i <= 7; i++)
    {
      if (tablica[i] > max)
	max = tablica[i];
    }
    min = tablica[0];
    for (int i = 0; i <=7; i++)
    {
        if (tablica[i] < min)
        min = tablica[i];
    }
  cout<<"\n";
  cout << "Najwiekszy element tej tablicy to: " << max << "\n";
  cout << "Najmniejszy element tej tablicy to: "<< min << "\n";
  system ("pause");
  return 0;
}

 

  • Rekomendowana odpowiedź
greston
komentarz
komentarz

Hej

Tutaj moim zdaniem przy wypisywaniu elementów tablicy w pętli nie powinno być i<=5 tylko i<=7, bo zaczynasz liczyć od i=0. W tablicach numerowanie zawsze zaczyna się od zera. Możesz nawet na palcach przeliczyć, że od 0 do 7 jest osiem elementów. Mam nadzieję, że pomogłem.

Jogan
komentarz
komentarz
7 minut temu, greston napisał:

Hej

Tutaj moim zdaniem przy wypisywaniu elementów tablicy w pętli nie powinno być i<=5 tylko i<=7, bo zaczynasz liczyć od i=0. W tablicach numerowanie zawsze zaczyna się od zera. Możesz nawet na palcach przeliczyć, że od 0 do 7 jest osiem elementów. Mam nadzieję, że pomogłem.

Nie zauważyłem tego. To był ten problem.

Bardzo dziękuje za pomoc!

-n3veR
komentarz
komentarz

Niepotrzebnie odpalasz pętlę 3x (listing, 'pobranie' max, 'pobranie' min), wystarczy przeiterować raz by to zrobić.

rafalluz
komentarz
komentarz

Tip na przyszłość:

 

użyj stałej, by zapisać sobie rozmiar tablicy w jednym miejscu zamiast używać magicznych wartości 5/7 w wielu miejscach kodu, będzie łatwiej uniknąć takich bugów.

 

Wygląda na to, że sobie zdefiniowałeś rozmiar = 8, dlaczego po prostu nie użyłeś go w pętlach jako warunku końca pętli jako i < rozmiar albo i <= rozmiar - 1?

 

 

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.