Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // korepetycje 17.12.cpp : Defines the entry point for the console application.
- //
- #include <conio.h>
- #include <stdio.h>
- #include <time.h>
- #include <malloc.h>
- #include <stdlib.h>
- float** tworzenieMacierzy(int w, int k)
- {
- float **macierz;
- macierz = (float**)calloc(w, sizeof(float*));
- if (macierz == NULL)
- printf("nie powiodla sie alokacja pamieci");
- for (int i = 0; i < w; i++)
- {
- macierz[i] = (float*)calloc(k, sizeof(float));
- if (macierz[i] == NULL)
- printf("nie powiodla sie alokacja pamieci");
- }
- return(macierz);
- }
- void wczytywanieDanych(float **macierz, int w, int k)
- {
- for (int i = 0; i < w; i++)
- {
- for (int j = 0; j < k; j++)
- {
- printf("Podaj element macierzy[%d][%d]", i, j);
- scanf("%f", &macierz[i][j]);
- }
- }
- }
- void wypisywanieDanych(float **macierz, int w, int k)
- {
- for (int i = 0; i < w; i++)
- {
- for (int j = 0; j < k; j++)
- {
- printf("%6.1f", macierz[i][j]);
- }
- printf("\n");
- }
- }
- float** mnozenieMacierzy(float **macierz1, float **macierz2, int w, int k)
- {
- float **macierz3;
- macierz3 = tworzenieMacierzy(w, k);
- for (int i = 0; i < w; i++)
- {
- for (int j = 0; j < w; j++)
- {
- for (int a = 0; a < k; a++)
- {
- macierz3[i][j] = macierz3[i][j] + macierz1[i][a] * macierz2[a][j];
- }
- }
- }
- return(macierz3);
- }
- void usunMacierz(int w, float **macierz)
- {
- if (macierz == NULL) return;
- for (int i = 0; i < w; i++)
- {
- free(macierz[i]);
- }
- free(macierz);
- }
- int main()
- {
- float **macierz1 = NULL;
- float **macierz2 = NULL;
- float **macierz3 = NULL;
- int w, k;
- do
- {
- printf("Podaj ilosc wierszy:");
- scanf("%d", &w);
- printf("Podaj ilosc kolumn:");
- scanf("%d", &k);
- } while (w <= 0 && k <= 0);
- macierz1 = tworzenieMacierzy(w, k);
- macierz2 = tworzenieMacierzy(w, k);
- printf("Podaj elementy macierzy 1:\n");
- wczytywanieDanych(macierz1, w, k);
- printf("Podaj elementy macierzy 2:\n");
- wczytywanieDanych(macierz2, w, k);
- printf("Wypisywanie macierzy 1:\n");
- wypisywanieDanych(macierz1, w, k);
- printf("Wypisywanie macierzy 2:\n");
- wypisywanieDanych(macierz2, w, k);
- macierz3 = mnozenieMacierzy(macierz1, macierz2, w, k);
- printf("Wypisywanie macierzy 3:\n");
- wypisywanieDanych(macierz3, w, k);
- usunMacierz(w, macierz1);
- usunMacierz(w, macierz2);
- usunMacierz(w, macierz3);
- _getch();
- return 0;
- }
- +++++++++++++++++++++++++++++++++++++++++
- #include "stdafx.h"
- #include <malloc.h>
- #include <conio.h>
- #include <stdlib.h>
- int* tworz_tablice( int n)
- {
- int *tab;
- tab = (int*)malloc(n*sizeof(int));
- for (int i= 0; i < n; i++)
- {
- tab[i] = (int)malloc(n*sizeof(int));
- }
- return tab;
- }
- void wartosci(int *tab1, int n)
- {
- for (int i=0; i < n; i++)
- {
- printf(" tab[%d] = ", i + 1);
- scanf_s("%d", &tab1[i]);
- }
- }
- void wypisz(int *tab1, int n)
- {
- for (int i = 0; i < n; i++)
- {
- printf(" %4d ", tab1[i]);
- }
- }
- void cykl_prawo(int *tab1, int p)
- {
- int buf;
- for (int i = tab1[i] - 1; i>p; i--)
- {
- *(tab1 + i) = *(tab1 + i - 1);
- *tab1 = buf;
- }
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- int *tab1 = NULL;
- int n;
- int p;
- printf("podaj wielkosc ");
- scanf_s("%d", &n);
- printf("podaj przesu ");
- scanf_s("%d", &p);
- tab1 = tworz_tablice(n);
- wartosci(tab1, n);
- wypisz(tab1, n);
- cykl_prawo(tab1, p);
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement