nugger Opublikowano 9 Listopada 2004 Zgłoś Opublikowano 9 Listopada 2004 Napisalem program, ktory ma losowo wypelniac tablice i potem liczyc z niej wart max, min, srednia... Ale jakos nie chce sie uruchomic, kompilacja przebiega normalnie... Gdzie tu jest blad ? #include <stdio.h> #include <stdlib.h> #include<conio.h> #include<math.h> double srednia (int n, double A[10]) { int i; double S=0; for (i=0;i<n;i++) S+=A; if (n>1) S/=n; return (S); } double MAX (int n, double A[10]) { int i; double max=A[0]; for (i=1;i<n; i++); if (A>max) max=A; return (max); } double MIN (int n, double A[10]) { int i; double min=A[0]; for (i=1; i>n; i++); if (A<min) min=A; return (min); } void main (void) { int n; double max,min,S,A[10]; randomize(); A[10]=random(100); max=MAX(n,A); min=MIN(n,A); S=srednia(n,A); printf("Max=%.3lf/n Min=%.3lf Srednia=%.3lf/n", max,min,S); } :roll: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
K3310pH Opublikowano 10 Listopada 2004 Zgłoś Opublikowano 10 Listopada 2004 wszedzie podajesz za parametr dlugosc tablicy n, a tak niezabardzo to n jest wlasciwe, tzn nigdzie nie ma n=10 i funkcje wariuja to raz, A[10]=random(100) nie zapelni ci calej tablicy tylko jej jeden element, sprawa trzecia jak masz double A[10], to indeksujesz ja A[0]..[9] co dobrze robisz w funkcjach a to ustawianie A[10] jest odwolaniem do pamieci nie przydzielonej dla tabeli. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
czara Opublikowano 10 Listopada 2004 Zgłoś Opublikowano 10 Listopada 2004 #include <stdio.h> #include <stdlib.h> #include<conio.h> #include<math.h> double srednia (int n, double A[10]) { int i; double S=0; for (i=0;i<n;i++) S+=A[i]; if (n>1) S/=n; return (S); } double MAX (int n, double A[10]) { int i; double max=A[0]; for (i=1;i<n; i++); if (A[i]>max) max=A[i]; return (max); } double MIN (int n, double A[10]) { int i; double min=A[0]; for (i=1; i>n; i++); if (A[i]<min) min=A[i]; return (min); } void main (void) { int n=10; //n musi miec wartosc :]double max,min,S,A[10]; randomize();for(i=1;i<n;i++) // petla sie przydaje :)A[i]=random(100); max=MAX(n,A); min=MIN(n,A); S=srednia(n,A); printf("Max=%.3lf/n Min=%.3lf Srednia=%.3lf/n", max,min,S); }troche to poprawilem ale ze juz dawno niczego nie pisalem to nie wiem czy to do konca dobre jest :/ a nie mam kompilatora pod reka . Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
piotrek_zet Opublikowano 10 Listopada 2004 Zgłoś Opublikowano 10 Listopada 2004 petla przy funcij Min jest troszke bez sensu, jak juz w nią wejdzie to z niej nie wyjdzie - forever for, no i ten średnik na koncu jest tez niezbyt dobry :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
K3310pH Opublikowano 10 Listopada 2004 Zgłoś Opublikowano 10 Listopada 2004 [php:1:751b6c01cb] n = 10 for (int i=0; i>n; i++) ..... [/php:1:751b6c01cb] yyy no chyba juz na samym poczatku i < n a zatem for w ogole sie nie wykona... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
K3310pH Opublikowano 10 Listopada 2004 Zgłoś Opublikowano 10 Listopada 2004 [php:1:fc40c429bb] n = 10 for (int i=0; i>n; i++) ..... [/php:1:fc40c429bb] yyy no chyba juz na samym poczatku i < n a zatem for w ogole sie nie wykona... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...