uz102tdz

program(zad. domowe)
T#53762
Facebook
pepe_ksF
poziom 2
Użytkownik
#366542 16.11.2009 19:22:32
jak ktos ma zrobiony program to niech daje, bo ja nie chce po 2 miesiacach sie pozegnacpłacze
NartyJezusa
poziom 2
Użytkownik
Lokalizacja: Cybinka/ZG
#367247 17.11.2009 15:29:46
Co dokładnie ma robić ten program?
iwan59
poziom 3

Administrator 
Lokalizacja: Ziemowit
#367278 17.11.2009 16:08:22
Tego to najstarsi górale nawet nie wiedzą. zmieszany
NartyJezusa
poziom 2
Użytkownik
Lokalizacja: Cybinka/ZG
#367280 17.11.2009 16:10:08
wiem tyle że ma zmieniać dany bit w tablicy, ale nie wiem czy on ma to zapisywać do pliku czy wyświetlać dane na ekranie?
NartyJezusa
poziom 2
Użytkownik
Lokalizacja: Cybinka/ZG
#367521 17.11.2009 19:09:02
#include <stdio.h>
#include <stdlib.h>
#define y (sizeof(int)*8)
#define x (10000 / y) + 1


main ()
{
unsigned int tab[x];
zt(tab);
menu(tab);
return 0;
}


//zt - wyzerowanie tablicy
int zt(unsigned int *tablica)
{
int i;
for(i =0; i < x; i++)
tablica[i] = 0;
return 0;
}


//wt - wyswietlanie tablicy
int wt(unsigned int *tablica)
{
int i, j, wynik, pusta=1;
unsigned int maska = 1;
printf("\nW tablicy znajduja sie nastepujace liczby:\n"oczko;
for(i = 0; i < x; i++)
{
for(j = 0; j < y; j++)
{
maska = 1;
maska <<= j;
if((maska & tablica[i]) != 0)
{
wynik = y*i+j+1;
printf("%u\n",wynik);
pusta=0;
}
}
}
if(pusta == 1) printf("Lista jest pusta.\n\n"oczko;
return 0;
}

//wl - wyswietlanie liczb
int wl(unsigned int *tablica, int l)
{
unsigned int maska = 1;
maska <<= ((l - 1) % y);
if((tablica[(l - 1) / y] & maska) != 0)
printf("\nLiczba jest w tablicy.\n"oczko;
else
printf("Liczby nie ma w tablicy.\n\n"oczko;
return 0;
}
// dodawanie i usuwanie liczb

int add_del(unsigned int *tablica,int l, int del)
{
unsigned int maska;
maska=1;
maska <<= ((l - 1) % y);
if (del == 1)
{
maska = ~maska;
tablica[(l - 1) / y] = tablica[(l - 1) / y] & maska;
} else
tablica[(l - 1) / y] = tablica[(l- 1) / y] | maska;
printf("Bit "oczko;
printf("%u",((l - 1) % y));
printf(" w komorce tab["oczko;
printf("%u",((l -1) / y));
printf("] zostal zmodyfikowany\n"oczko;
return 0;
}
// odczyt, odczyt z pliku

odczyt(unsigned int *tablica)
{
int liczba;
char np[20];
FILE *plik;
printf("Podaj nazwe pliku: "oczko;
scanf("%s",np);
printf("\n"oczko;
plik = fopen(np, "r"oczko;

while ( fscanf(plik,"%u ",&liczba) == 1)
{
printf("Do tablicy wpisano liczbe: %u \n", liczba);
add_del(tablica, liczba, 0);
printf("\n"oczko;

}

fclose(plik);
}

// zapis - zapis do pliku
zapis(unsigned int *tablica)
{
int i, j, liczba, wynik, pusta;
char np[20];
unsigned int maska = 1;
FILE *plik;
printf("Podaj nazwe pliku: "oczko;
scanf("%s",np);
printf("\n"oczko;
plik = fopen(np, "w"oczko;
printf("Do pliku %s wpisane nastepujace liczby: \n",np);
pusta = 1;
for(i = 0; i < x; i++)
{
for(j = 0; j < y; j++)
{
maska = 1;
maska <<= j;
if((maska & tablica[i]) != 0)
{
wynik = 16*i+j+1;
printf("%u ",wynik);
fprintf(plik,"%u ",wynik);
pusta = 0;
}
}
}
if(pusta == 1) printf("W tablicy nie bylo liczb. Plik jest pusty.\n"oczko;
fclose(plik);
return 0;
}
void help(void)
{
printf("Wybierz tryb pracy:\n"oczko;
printf("[L] - ladowanie danych z pliku\n"oczko;
printf("[Z] - zapis danych do pliku\n"oczko;
printf("[W] - wstawianie liczby do tablicy\n"oczko;
printf("[O] - odczytywanie liczby z tablicy\n"oczko;
printf("[U] - usuwanie liczby z tablicy\n"oczko;
printf("[A] - automatyczne odczytywanie zawartosci tablicy\n"oczko;
printf("[Q] - wyjscie z programu\n"oczko;
printf("[H] - ponownie wyswietla menu\n\n"oczko;

}


int menu(unsigned int *tablica)
{
char wybor,trash;
int liczba;
help();
scanf("%c",&wybor);
do
{
trash = getchar();
} while (trash != '\n'oczko;

while(wybor != 'q'oczko
{
switch (wybor)
{
case 'l':
{
odczyt(tablica);
break;
}
case 'z':
{
zapis(tablica);
break;
}
case 'w':
{
printf("Podaj liczbe do wstawienia: \n"oczko;
scanf("%u",&liczba);
add_del(tablica, liczba, 0);
break;
}
case 'o':
{
printf("Podaj liczbe do sprawdzenia:\n"oczko;
scanf("%u",&liczba);
wl(tablica, liczba);
break;
}
case 'u':
{
printf("Podaj liczbe do usuniecia: "oczko;
scanf("%u",&liczba);
add_del(tablica, liczba, 1);
break;
}
case 'a':
{
wt(tablica);
break;
}
default:
{
printf("\nNacisnales nieprawidlowa litere.\n"oczko;
help();
}
}
printf("\nWybierz opcje:\n"oczko;
scanf("%c",&wybor);
do
{
trash = getchar();
} while (trash != '\n'oczko;

}
return 0;
}
NartyJezusa
poziom 2
Użytkownik
Lokalizacja: Cybinka/ZG
#367527 17.11.2009 19:11:16
link do pliku tekstowego z wcieciami



TYLKO ZAREJESTROWANI I ZALOGOWANI UŻYTKOWNICY WIDZĄ LINKI. DARMOWA REJESTRACJA

Zielak
poziom 1
Użytkownik
Lokalizacja: Mcz/ZG
UŻYTKOWNIK ZABLOKOWANY
#367549 17.11.2009 19:22:21
a ten program dziala dobrze??
NartyJezusa
poziom 2
Użytkownik
Lokalizacja: Cybinka/ZG
#367550 17.11.2009 19:22:40
Tylko pozmieniajcie tam coś, on i tak zaczai, że wszyscy mamy to samo, ale chuj mu w dupe (w czoko)
Zielak
poziom 1
Użytkownik
Lokalizacja: Mcz/ZG
UŻYTKOWNIK ZABLOKOWANY
#367552 17.11.2009 19:23:33
bo mi w miejscu

main ()
{
unsigned int tab[x];
zt(tab);
menu(tab);
return 0;
}

dokladniej w
zt(tab);
wyswietla blad
NartyJezusa
poziom 2
Użytkownik
Lokalizacja: Cybinka/ZG
#367554 17.11.2009 19:25:06
Tak działa dobrze, możesz sobie sprawdzić przecież:p wystarczy odpalićjęzor, zapisauje dane do tablicy w postaci bitowej i je tam przechowuje dopóki działa. Dane może pobrać bezpośrednio z klawiatury, lb pliku tekstowego i na odwrót, może zapisać w pliku lub wyświetlić na ekranie.
NartyJezusa
poziom 2
Użytkownik
Lokalizacja: Cybinka/ZG
#367557 17.11.2009 19:26:04
jak tworzyłeś projekt w devie to wybrałeś, że to jest aplikacja konsolowa i język C nie cpp
Zielak
poziom 1
Użytkownik
Lokalizacja: Mcz/ZG
UŻYTKOWNIK ZABLOKOWANY
#367567 17.11.2009 19:36:34
no działa ;]
kieszkosss
poziom 2
Użytkownik
#367824 17.11.2009 22:44:38
no tez to znalazlem ale jest maly problem koles od programowania podbno nie przyjomje programu jak on nie posiada opisu i komentarzy cz y cos takeigooczko
darthu
Użytkownik
UŻYTKOWNIK ZABLOKOWANY

Ilość edycji wpisu: 1
#369338 19.11.2009 20:22:09




TYLKO ZAREJESTROWANI I ZALOGOWANI UŻYTKOWNICY WIDZĄ LINKI. DARMOWA REJESTRACJA

wpis edytowany 20.11.2009 10:22:53
Aby pisać na forum musisz się zalogować !!!
załóż własne forum · korzystasz z forum? wesprzyj projekt - postaw kawę! · rss