Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void fill(unsigned int** tabelka, int x, int y) {
- for(int i = 0; i < x; i++) {
- for(int k = 0; k < y; k++) {
- scanf("%u", &tabelka[i][k]);
- }
- }
- }
- int oblicz_zera_binarne(unsigned int value) {
- int zera = 0;
- while(value > 0) {
- if(value % 2 == 0) {
- zera++;
- }
- value = value >> 1;
- }
- return zera;
- }
- //y - kolumn, x - wiersze
- unsigned int* znajdz_wartosci_dla_kolumny(unsigned int** tabelka, int x, int y) {
- int* wartosci_dla_kolumn = (int*) malloc(y * sizeof(int));
- for(int i = 0; i < y; i++) {
- wartosci_dla_kolumn[i] = 0;
- for(int k = 0; k < x; k++) {
- wartosci_dla_kolumn[i] += oblicz_zera_binarne(tabelka[k][i]);
- }
- }
- int najwiekszy_indeks = 0;
- int max = 0;
- for(int i = 0; i < y; i++) {
- if(wartosci_dla_kolumn[i] > max) {
- najwiekszy_indeks = i;
- max = wartosci_dla_kolumn[i];
- }
- }
- unsigned int* wartosc_finalne = (unsigned int*) malloc(x * sizeof(unsigned int));
- for(int i = 0; i < x; i++) {
- wartosc_finalne[i] = tabelka[i][najwiekszy_indeks];
- }
- return wartosc_finalne;
- }
- int main() {
- int x, y;
- printf("Podaj liczbe wierszy: ");
- scanf("%d", &x);
- printf("Podaj liczbe kolumn: ");
- scanf("%d", &y);
- unsigned int** tabelka = (unsigned int**)malloc(sizeof(unsigned int*) * x);
- for(int i = 0; i < x; i++) {
- tabelka[i] = (unsigned int*) malloc(sizeof(unsigned int) * y);
- }
- printf("Wprowadz elementy do tabelki: ");
- fill(tabelka, x, y);
- unsigned int* rezultat = znajdz_wartosci_dla_kolumny(tabelka, x, y);
- printf("Wartosci:\n");
- for(int i = 0; i < x; i++) {
- printf("%u\n", rezultat[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement