Strona 1 z 1

[C]Sumowanie- 1 pętelka i program do bani

: 4 wrz 2010, o 12:17
autor: miki999
Mam takie badziewie:

Kod: Zaznacz cały

#include<stdio.h>


int main()
{
	int tablica[4], i, max=0, min=20, suma=0;
	for(i=0; i<5; i++)
	{
	 spr:
	  printf("Podaj %d. note: 
", i+1);
	  scanf("%d", &tablica[i]);
	  if(tablica[i]<0 || tablica[i]>20) //Spr. czy nota zawiera się w <0;20>
		   {
	  	       printf("Podano niepoprawna note.
");
		       goto spr;
		    }
             if(tablica[i]<=min)
		{
		  min=tablica[i];
		}
		if(tablica[i]>=max)
		{
		  max=tablica[i];
		}
           		suma=suma+tablica[i];   
   }


    
 printf("Suma wybosi: %d 
", suma-min-max);


return 0;

}
W skrócie pisząc: wczytaj 5 liczb od 0 do 20, wywal największą i najmniejszą, podaj sumę reszty.

Niestety ten program nie zwraca mi prawidłowych wyników. Proszę o znalezieniu błędów. Wydaje się, że źle sumuje.



Pozdrawiam.

[C]Sumowanie- 1 pętelka i program do bani

: 4 wrz 2010, o 12:19
autor: Afish

Kod: Zaznacz cały

int tablica[4],
Ta tablica ma 4 elementy.
No i poza tym nigdzie nie zwiększasz sumy :)

[C]Sumowanie- 1 pętelka i program do bani

: 4 wrz 2010, o 12:28
autor: miki999
Ta tablica ma 4 elementy.
Hmm, a to nie jest tak, że tablica ma i+1 elementów (bo liczymy od tablica[0])?
No i poza tym nigdzie nie zwiększasz sumy

Pominąłem linijkę, zaraz dam edita

[C]Sumowanie- 1 pętelka i program do bani

: 4 wrz 2010, o 12:31
autor: Afish
Hmm, a to nie jest tak, że tablica ma i+1 elementów (bo liczymy od tablica[0])?

Owszem, liczymy od 0. Ale wtedy tablica ma elementy od zerowego, do i-1. Przy tworzeniu tablicy jako rozmiar podałeś 4, więc masz 4 elementy :) Różnica jest jedynie w indeksowaniu elementów, ale rozmiar nie zmienia się.

[C]Sumowanie- 1 pętelka i program do bani

: 4 wrz 2010, o 12:35
autor: miki999
Dzięki wielkie za pomoc.



Pozdrawiam.