| norbertu - 2011-05-05 10:15:48 |
Zadania
|
| aa - 2011-05-05 14:50:02 |
I'm redy
|
| norbertu - 2011-05-05 15:09:27 |
napisać program który wyliczy sumę liczb całkowitych z pliku wejściowego zawierającego macierz n x n. w sumie nalezy uwzględnić tylko elementy diagonalne. sumę nalęy wypisać do pliku wyjsciowego z odpowiednim komentarzem
przykład -12 56 +9 -5 10 1 3 0 17
|
| aa - 2011-05-05 15:16:07 |
a diagonalne to przekątna czy trójkąt poza przekątną
|
| norbertu - 2011-05-05 15:18:46 |
signed short srednia1 (signed short a, signed short b){ return (a + b) / 2; }
signed short& srednia2 (signed short a, signed short b){ short c; c = a; c += b; c /=2; return c; }
int main() { short a = 30000; short b = -30000:
cout << "Srednia z (" << a << ") i (" <<b << ")"; cout << " wynosi " << srednia1(a, b); cout << " albo " << srednia2(a, b);
return 0; }
ZNAJDŹ I WYJAŚNIJ BŁĄD
diagonalne to przekątna
ZAD 3
short srednia(short tbl[], short rzmr) { short s = 0; while(rzmr-- >0) { s += rzmr[tbl] / rzmr; } return s; }
main () { short tab[] = {1234, 2345, 3456, 4567, 5678, 6789};
cout << "Srednia wynosi " << srednia (tab,6) << endl;
return 0; }
Po wykonaniu programu uzyskano następujący wydruk: Floating point exception
podaj wyjaśninie dlaczego
|
| aa - 2011-05-05 15:34:42 |
tak jest poprawnie: porównaj:
signed short srednia1 (signed short a, signed short b){ //poprawiłem tak żeby było w jednej linii return (a + b) / 2; }
signed short srednia2 (signed short a, signed short b){ // tu usunąłem & i tez w jednej linii short c; c = a; c += b; c /=2; return c; }
int main() { short a = 30000; short b = -30000; // i tu był : zamiast ;
cout << "Srednia z (" << a << ") i (" << b << ")"; cout << " wynosi " << srednia1(a, b); cout << " albo " << srednia2(a, b); return 0; } a jak wrzuciłem w kompilator to trzeba dopisać using namespace std; i to tyle:)
|
| norbertu - 2011-05-05 15:38:59 |
tam bylo to using tylko juz nie pisalem ; tez sie pomyliłem z :
nie wiem czy nie chodzi cos z przeciazeniem operatorów
|
| aa - 2011-05-05 15:53:04 |
short srednia(short tbl[], short rzmr) { short s = 0; while(rzmr-- >0) { // petla nieskonczona s += rzmr[tbl] / rzmr; //rzmr nie jest tablicą a tutaj jest wykorzystywany jako tablica BŁĄD!!! rzmr jest tylko zwykłym shortem, nie tablicą } return s; }
main () { short tab[] = {1234, 2345, 3456, 4567, 5678, 6789};
cout << "Srednia wynosi " << srednia (tab,6) << endl;
return 0;
|
| aa - 2011-05-05 15:57:46 |
a ten program co wam zadał jest tak spierdolony ze ten od nas najlepszy z grupy nie umie go zrobić
|
| aa - 2011-05-05 16:00:19 |
napisał ten algorytm do tego:) nie ma wczytywania danych bo to zajebiscie durzo jebania :
int main(void){ FILE *fp; ///....tu powinno byc wczystywanie danych z pliku do jakiejs tablicy no ale... for(i=0; i<size_x_macierz; i++){ for(j=0; j<size_y_macierz; j++){ if (i==j) suma+= macierz[i][j]; } } fp = fopen('wynik.dat', 'wb'); fprintf(fp, '%d', suma); fclose(fp); }
|
| aa - 2011-05-05 16:05:42 |
#include <iostream> #include <conio.h> using namespace std;
int main(void){ const int a=100, b=100;
FILE *fp; int size_x_macierz, size_y_macierz; int i, j, suma, macierz[a][b]; ///....tu powinno byc wczystywanie danych z pliku do jakiejs tablicy no ale... for(i=0; i<size_x_macierz; i++){ for(j=0; j<size_y_macierz; j++){ if (i==j) suma+= macierz[i][j]; } } fp = fopen('wynik.dat', 'wb'); fprintf(fp, '%d', suma); fclose(fp); }
getch (); return 0; } //wersja poprawiona;)
|