User Tools

Site Tools


dydaktyka:cprog:2016:arrays-adv-solutions

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
dydaktyka:cprog:2016:arrays-adv-solutions [2017/01/02 08:16]
pkleczek [Zadanie SUM2D-1]
— (current)
Line 1: Line 1:
-~~NOTRANS~~ 
  
-====== Tablice (zaawansowane) – rozwiązania ====== 
- 
-Laboratorium:​ **[[dydaktyka:​cprog:​2016:​arrays-adv|klik]]** 
- 
-===== Zadanie SUM2D-1 ===== 
- 
-<code c sum2d-1.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; 
- 
-    /* Zainicjalizuj tablicę */ 
-    for(i = 0; i < N; i++) { 
-        for (j = 0; j < M; j++) { 
-            tab[i][j] = i + 2*j; 
-        } 
-    } 
- 
-    /* Oblicz sumę elementów */ 
-    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>​ 
- 
-===== Zadanie SUM2D-2 ===== 
- 
-<code c sum2d-2.c>​ 
-#include <​stdio.h>​ 
-#include <​stdlib.h>​ 
- 
-#define N   3 
-#define M   4 
- 
-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] = rand() % 10; 
-        } 
-    } 
- 
-    /* Wyświetlanie tablicy 2D: 
-        - wiersz po wierszu 
-        - po kolei elementy w ramach danego wiersza 
-        - znak nowej linii po wyświetleniu każdego wiersza 
-    */ 
-    for(i = 0; i < N; i++) { 
-        for (j = 0; j < M; j++) { 
-            printf("​%d ", tab[i][j]); 
-        } 
-        printf("​\n"​);​ 
-    } 
- 
-    printf("​\n"​);​ 
- 
-    /* Obliczanie sumy w wierszach */ 
-    for(i = 0; i < N; i++) { 
-        suma = 0; 
- 
-        for (j = 0; j < M; j++) { 
-            suma += tab[i][j]; 
-        } 
-        printf("​Suma w wierszu #%d: %d\n", i, suma); 
-    } 
- 
-    printf("​\n"​);​ 
- 
-    /* Obliczanie sumy w kolumnach */ 
-    for(j = 0; j < M; j++) { 
-        suma = 0; 
- 
-        for (i = 0; i < N; i++) { 
-            suma += tab[i][j]; 
-        } 
-        printf("​Suma w kolumnie #%d: %d\n", j, suma); 
-    } 
- 
-    return 0; 
-} 
-</​code>​ 
- 
-===== Zadanie IDL ===== 
- 
-<code c idl.c> 
-#include <​stdio.h>​ 
-#include <​stdlib.h>​ 
-#include <​string.h>​ 
- 
-int main() 
-{ 
-    char imie[20]; 
-    char nazwisko[30];​ 
- 
-    printf("​Podaj imie i nazwisko: "); 
-    scanf("​%s %s", imie, nazwisko); 
- 
-    printf("​Imie ​    : %s  (%d)\n",​ imie, strlen(imie));​ 
-    printf("​Nazwisko : %s  (%d)\n",​ nazwisko, strlen(nazwisko));​ 
- 
-    return 0; 
-} 
-</​code>​ 
- 
-===== Zadanie PAL ===== 
- 
-W poniższym rozwiązaniu porównujemy paramy litery: pierwszą z ostatnią, drugą z przedostatnią itd. \\ 
-Zgodnie z definicją wyraz uznamy za palindrom jeśli wszystkie pary liter są zgodne bądź -- równoważnie -- jeśli nie zawiera ani jednej pary różniących się od siebie liter. (W naszym przypadku prościej sprawdzić ilość różnych par.) 
- 
-<code c pal.c> 
-#include <​stdio.h>​ 
-#include <​stdlib.h>​ 
-#include <​string.h>​ 
- 
-int main() { 
-    char str[] = "​kajak";​ 
-    int rozne_pary = 0; 
-    int i; 
- 
-    for (i = 0; i < strlen(str)/​2;​ i++) { 
-        if  (str[i] != str[strlen(str) - 1 - i]) { 
-            rozne_pary++;​ 
-        } 
-    } 
- 
-    if (rozne_pary == 0) { 
-        printf("​Wyraz \"​%s\"​ jest palindromem.\n",​ str); 
-    } else { 
-        printf("​Wyraz \"​%s\"​ nie jest palindromem.\n",​ str); 
-    } 
- 
-    return 0; 
-} 
-</​code>​ 
dydaktyka/cprog/2016/arrays-adv-solutions.1483341393.txt.gz · Last modified: 2020/03/25 11:46 (external edit)