User Tools

Site Tools


dydaktyka:cprog:2015:arrays-solutions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dydaktyka:cprog:2015:arrays-solutions [2015/12/07 16:55]
pkleczek [Zadanie MAX1D]
— (current)
Line 1: Line 1:
-====== Tablice – rozwiązania ====== 
  
-Laboratorium:​ **[[dydaktyka:​cprog:​2015:​arrays|klik]]** 
- 
-===== Zadanie SUM1D ===== 
- 
-<code c> 
-#include <​stdio.h>​ 
-#include <​stdlib.h>​ 
- 
-/* skorzystaj ze stalej symbolicznej do przechowywania rozmiaru tablicy */ 
-#define N  4 
- 
-int main() 
-{ 
-    double tab[N] = {0.3, 0.5, 1.0, 3}; 
-    double suma = 0;    /* zwroc uwage na typ zmiennej `suma`! */ 
-    int i; 
- 
-    for(i = 0; i < N; i++) { 
-        suma += tab[i]; 
-    } 
- 
-    printf("​Suma wynosi %f\n", suma); 
- 
-    return 0; 
-} 
-</​code>​ 
- 
-===== Zadanie MAX1D ===== 
- 
-Zadanie można rozwiązać w następujący sposób: \\ 
-//Przejdź kolejno przez wszystkie elementy tablicy i dla każdego z nich sprawdź, czy jego wartość jest większa od dotychczas znalezionej wartości maksymalnej. \\ 
-Jeśli tak, to przyjmij wartość tego elementu jako nową wartość maksymalną.//​ 
- 
-Jaką wartość przyjąć na samym początku jako maksymalną?​ Najprościej -- dowolną taką, która występuje w tablicy! Nasz algorytm dokona ewentualnie niezbędnej korekty. \\ 
-Problem pojawiłby się w sytuacji, gdybyśmy z początku wybrali wartość większą od wartości największego elementu tablicy (np. gdybyśmy przyjęli ''​max = 10'',​ dla tablicy ''​{1,​ 7, 2}''​). 
- 
-<code c> 
-#include <​stdio.h>​ 
-#include <​stdlib.h>​ 
- 
-#define N  5 
- 
-int main() 
-{ 
-    int tab[N] = {1, 5, 0, 9, 3}; 
-    int max; /* wartosc najwiekszego elementu tablicy */ 
-    int i; 
- 
-    max = tab[0]; 
-    for(i = 0; i < N; i++) { 
-        if (tab[i] > max) { 
-            max = tab[i]; 
-        } 
-    } 
- 
-    printf("​Maksymalna wartosc: %d\n", max); 
- 
-    return 0; 
-} 
-</​code>​ 
- 
-===== Zadanie SUM2D ===== 
- 
-<code c> 
-#include <​stdio.h>​ 
-#include <​stdlib.h>​ 
- 
-#define N   5 
-#define M   8 
- 
-int main() 
-{ 
-    int tab[N][M]; 
-    int suma = 0; 
-    int i, j; 
- 
-    for(i = 0; i < N; i++) { 
-        for (j = 0; j < M; j++) { 
-            tab[i][j] = i + 2*j; 
-        } 
-    } 
- 
-    for(i = 0; i < N; i+=2) { 
-        for (j = 0; j < M; j++) { 
-            suma += tab[i][j]; 
-        } 
-    } 
- 
-    printf("​Suma wynosi %d\n", suma); 
- 
-    return 0; 
-} 
-</​code>​ 
dydaktyka/cprog/2015/arrays-solutions.1449503749.txt.gz · Last modified: 2020/03/25 11:46 (external edit)