Przejdź do głównej zawartości

Posty

Wyświetlanie postów z wrzesień, 2013

Funkcja, Makro, MsgBox, InputBox i równanie funkcji.

Napisać funkcję użytkownika , która opisuje podaną zależność           | x + a     dla  -a <= x <= 0 f(x) = | -x + a    dla   0 <= x <= a           a > 0           | 0           dla pozostałych x Zastosować funkcję w arkuszu. Następnie napisać procedurę przypisaną do obiektu w arkuszu, która dla zadanych wartości a oraz x wprowadzanych przez użytkownika wywołuje funkcję i wyświetla wynik w oknie MsgBox . Umieścić w arkuszu okno InputBox lub kontrolki do wprowadzania wartości wejściowych. Funkcja: Function Funkcja(a As Integer, x As Integer) If -a <= x And x <= 0 Then Funkcja = x + a ElseIf x >= 0 And x <= a Then Funkcja = (-x) + a Else Funkcja = 0 End If End Function Makro:   Sub Makro1() Dim x As Integer, a As Integer x = InputBox("Podaj x", "Podaj x") a = InputBox("Podaj a", "Podaj a") MsgBox Funkcja(a, x), , "Wynik" End Sub Później

Obliczenia na wskaźnikach.

Wskaźniki p i q wskazują odpowiednio na początkowy i końcowy element pewnej tablicy elementów typu  int . Zadeklaruj je i napisz wyrażenie, które da w wyniku liczbę elementów tej tablicy . #include <stdio.h> int main () { int a[] = {1,2,3,4,5,6}; int *p = &a[0]; int *q = &a[5]; printf("\ Tablica {1,2,3,4,5,6}\n\ Adres wskaznika p = %p\n\ Adres wskaznika q = %p\n\ Roznica adresow q-p = %i\n\ Długość tablicy q-p+1 = %i\n\ Wyrazenie q-p+1\n", p, q, q-p, q-p+1); return 0; } /* Tablica {1,2,3,4,5,6} Adres wskaznika p = 0xbfe08738 Adres wskaznika q = 0xbfe0874c Roznica adresow q-p = 5 Długość tablicy q-p+1 = 6 Wyrazenie q-p+1 */

Wypełnianie tablicy losowymi liczbami.

#include <stdio.h> #include <math.h> #include <time.h> #define SIZE 30 int LosujTablice(int tablica[], int rozmiar); int WypiszTablice(int tablica[], int rozmiar); int main(void){ srand( (unsigned)time(NULL) ); int tablica[SIZE]; LosujTablice(tablica, SIZE); WypiszTablice(tablica, SIZE); return 1; } int LosujTablice(int tablica[], int rozmiar) { int i; for( i = 0; i < rozmiar; i++ ) { tablica[i] = rand()%10; // od 0 do 9 } return 0; } int WypiszTablice(int tablica[], int rozmiar) { int i; if(rozmiar <= 20) { for(i = 0; i < rozmiar; i++) { printf("%i ", tablica[i]); } } else { for(i = 0; i < 10; i++) { printf("%i ", tablica[i]); } prin

Funkcja Zastap

Napisać funkcję char * Zastap (const char *napis) , która będzie usuwała z tekstu zawierającego liczby całkowite i litery, wszystkie znaki, które nie wchodzą w skład liczby. Pozostawione liczby mają być oddzielone jedną spacją. Nowy tekst jest zwracany jako wskaźnik do poprawionego napisu. Przykład: ‘’ 123 zl 50 zl 632   zl 56zl’’ Po przekształceniu: ‘’ 123 50 632 56” #include <stdio.h> #include <stdlib.h> #include <string.h> #define xmalloc(typ, ilosc) (typ*) _new((ilosc)*sizeof(typ)) void* _new(size_t rozmiar) { void* p; p = malloc(rozmiar); if(p == NULL) { printf("Brak pamieci!"); exit(0); } return p; } char *Zastap(const char *napis) { char *nowy = xmalloc(char, strlen(napis)); while( (*++napis) != '\0') { if( (*napis >= '0' && *napis <= '9') || (*napis == ' ' && *(napis+1) &