Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // wejsciowka5.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <iostream>
- #include <stdlib.h>
- #include <math.h>
- int bin2int(char* t) {
- int j = 0, potega, wynik = 0, licznik = 0, dlugosc1 = 0; , dlugosc2 = 0;;
- while (t[j] != '\0') {
- licznik++;
- j++;
- }
- potega = licznik;
- for (j = 0; j < licznik; j++) {
- if (t[j] == '1') {
- wynik += pow(2, potega - 1);
- }
- potega--;
- }
- return wynik;
- }
- int main()
- {
- int i, j = 0, w, k, max, nr_max, zmiana, sprawdz = 1, linijki = 0;
- char *pom1;
- int pom2;
- printf("Podaj liczbe wierszy tablicy: ");
- scanf("%d", &w);
- printf("\nPodaj liczbe kolumn tablicy: ");
- scanf("%d", &k);
- char **tab = (char**)malloc(w*(sizeof(*tab)));
- for (i = 0; i < w; i++) {
- tab[i] = (char*)malloc(k*(sizeof(tab)));
- }
- int *fun = (int*)malloc(w*(sizeof(int)));
- i = 0;
- FILE *plik;
- plik = fopen("bin.txt", "r");
- //czytanie z pliku
- fscanf(plik, "%s", tab[i]);
- i++;
- linijki++;
- while (!feof(plik) && i<w) {
- fscanf(plik, "%s", tab[i]);
- i++;
- sprawdz = 0;
- linijki++;
- }
- if (sprawdz) {
- printf("\n\nPlik jest pusty\n\n");
- system("pause");
- exit(0);
- }
- printf("\n=========\n");
- for (i = 0; i < linijki; i++) {
- printf("\n%s", tab[i]);
- }
- for (i = 0; i < linijki; i++) {
- fun[i] = bin2int(tab[i]);
- printf("\nWynik %d działania funkcji: %s -> %d", i + 1, tab[i], fun[i]);
- }
- i = 0;
- for (i = 0; i < linijki; i++) {
- printf("\nPrzed sorotwaniem: tab[%d]: %s ", i, tab[i]);
- }
- // sortowanie
- /*for (j = 0; j < linijki; j++) {
- max = fun[j];
- zmiana = 0;
- for (i = j + 1; i < linijki; i++) {
- if (fun[i] > max) {
- max = fun[i];
- nr_max = i;
- zmiana = 1;
- }
- }
- if (zmiana) {
- pom1 = tab[j];
- tab[j] = tab[nr_max];
- tab[nr_max] = pom1;
- pom2 = fun[j];
- fun[j] = fun[nr_max];
- fun[nr_max] = pom2;
- }
- }
- */
- /*
- for (i = 1; i < linijki; i++) {
- j = 0;
- dlugosc1 = 0;
- dlugosc2 = 0;
- while (tab[i][j] != '\0') {
- dlugosc1++;
- j++;
- }
- j = 0;
- while (tab[i - 1][j] != '\0') {
- dlugosc2++;
- j++;
- }
- if (dlugosc1 > dlugosc2) {
- pom1 = tab[i-1];
- tab[i - 1] = tab[i];
- tab[i] = tab[i - 1];
- }
- if (dlugosc1 == dlugosc2) {
- j = 0;
- for (j = 0; tab[i][j] != '\0'; j++) {
- }
- }
- }
- */
- printf("\n\n=========================\n");
- for (i = 0; i < linijki; i++) {
- printf("\ntab[%d]: %s ", i, tab[i]);
- }
- for (i = 0; i < linijki; i++) {
- fun[i] = bin2int(tab[i]);
- printf("\nWynik %d działania funkcji: %s -> %d", i + 1, tab[i], fun[i]);
- }
- for (i = 0; i < w; i++) {
- free(tab[i]);
- }
- free(tab);
- printf("\n");
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement