|
Forum grupy E.1 i Ez.1 Forum grupy E.1 i Ez.1 Elektroniki i Telekomunikacji
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
syl242
Administrator
Dołączył: 30 Lis 2006
Posty: 53
Przeczytał: 0 tematów
Ostrzeżeń: 0/3 Skąd: Koszalin
|
Wysłany: Sob 16:01, 27 Sty 2007 Temat postu: Poprawka z PP |
|
|
termin poprawy z PP jest na forum infopm
dopracowałem kody źródłowe:
program 1
Kod: |
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROZMIAR 10
void losuj(int n, int *tab, int p, int k)
{int i;
srand(time(NULL));
for (i=0;i<n;++i)
{
tab[i]=rand()%(1+k-p)+p;
}
}
int Max(int n, int *tab)
{
int i,max;
max=tab[0];
for (i=0;i<n;++i)
{
if (max<tab[i]) max=tab[i];
}
return max;
}
int Min(int n, int *tab)
{
int i,min;
min=tab[0];
for (i=0;i<n;++i)
{
if (min>tab[i]) min=tab[i];
}
return min;
}
int main(void)
{
int tablica[ROZMIAR];
int i,b,a;
printf("Podaj poczatek przedzialu:"); scanf("%d", &a);
printf("\n");
printf("Podaj koniec przedzialu:"); scanf("%d", &b);
losuj(ROZMIAR,tablica,a,b);
for (i=0;i<ROZMIAR;++i)
{ printf("%d ",tablica[i]); }
printf(" \nmax=%d\n",Max(ROZMIAR,tablica));
printf("min=%d",Min(ROZMIAR,tablica));
getchar();
getchar();
return 0;
}
|
program 2
Kod: |
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#define ROZMIAR 10
void losuj(int n, int *tab, int p, int k)
{
int i;
srand(time(NULL));
for (i=0;i<n;++i)
{
tab[i]=rand()%(1+k-p)+p;
}
}
/* MAXIMUM*/
int Max(int n, int *tab)
{
int i,max;
max=0;
for (i=0;i<n;++i)
{
if (tab[max]<tab[i]) max=i;
}
return max;
}
/*MINIMUM*/
int Min(int n, int *tab)
{
int i,min;
min=0;
for (i=0;i<n;++i)
{
if (tab[min]>tab[i]) min=i;
}
return min;
}
/* PROGRAM */
int main(void)
{
int tablica[ROZMIAR];
int i, p ,k;
printf("Podaj p= "); scanf("%d", &p);
printf("Podaj k="); scanf("%d", &k);
losuj(ROZMIAR,tablica,p,k);
for (i=0;i<ROZMIAR;++i)
{
if (i==Max(ROZMIAR,tablica)) textcolor(RED);
if (i==Min(ROZMIAR,tablica)) textcolor(GREEN);
cprintf("%3d ",tablica[i]);
textcolor(7);
}
printf("\nindeks najmniejszej wartosci to %d",Min(ROZMIAR,tablica ));
printf("\nindeks najwiekszej wartosci to %d", Max(ROZMIAR,tablica));
getchar();
getchar();
return 0;
}
|
program 3
Kod: |
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define roz 100
void Losuj(int n, int *Tab, int p, int k)
{
int i;
for (i=0;i<n;i++)
{
Tab[i]=(rand()%(k-p+1))+p;
}
}
int Min(int n, int *Tab)
{
int i,j,x1=0,x2=0,esp,minw;
minw=Tab[0];
esp=Tab[0];
for (i=0;i<n;i++)
{
if (Tab[i]==esp) x1++;//liczy ile razy powtarza sie pier. element
}
for (j=1;j<n;j++)
{
esp=Tab[j];
for (i=0;i<n;i++)
{
if (Tab[i]==esp) x2++;
}
if (x2<x1)
{
x1=x2;
minw=esp;
}
x2=0;
}
return minw;
}
int Max(int n, int *Tab)
{
int i,j,x1=0,x2=0,esp,maxw;
maxw=Tab[0];
esp=Tab[0];
for (i=0;i<n;i++)
{
if (Tab[i]==esp) x1++;//liczy ile razy powtarza sie pier. element
}
for (j=1;j<n;j++)
{
esp=Tab[j];
for (i=0;i<n;i++)
{
if (Tab[i]==esp) x2++;
}
if (x2>x1)
{
x1=x2;
maxw=esp;
}
x2=0;
}
return maxw;
}
int main()
{
int i,in,ix,a,b;
int tab[roz];
printf("\nPodaj p="); scanf("%d", &a);
printf("\nPodaj k="); scanf("%d", &b);
printf("\n\n");
Losuj(roz,tab,a,b);
for (i=0;i<roz;i++)
{
if (tab[i]==Min(roz,tab))
{
textcolor(RED);
cprintf("%d ",tab[i]);
}
if (tab[i]==Max(roz,tab))
{
textcolor(YELLOW);
cprintf("%d ",tab[i]);
}
if (tab[i]!=Min(roz,tab) && tab[i]!=Max(roz,tab))
{
printf("%d ",tab[i]);
}
}
getchar();
getchar();
return 0;
}
|
program 4
Kod: |
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#define ROZMIAR 10
void losuj(int n, int *tab, int p, int k)
{
int i;
srand(time(NULL));
for (i=0;i<n;++i)
{
tab[i]=rand()%(1+k-p)+p;
}
}
void wyswietl(int n, int *tab, int k)
{
int i;
for (i=0;i<n;++i)
{
if (i!=0 && i%k==0) printf("\n");
printf("%7d",tab[i]);
}
}
float srednia(int n, int *tab)
{
int i;
float srd=0;
for (i=0;i<n;++i)
{
srd=srd+tab[i];
}
return srd/n;
}
/* program*/
int main(void)
{
int tablica[ROZMIAR];
int p,k,z;
printf("Podaj p="); scanf("%d", &p);
printf("\n");
printf("Podaj k="); scanf("%d", &k);
printf("Podaj po ile liczb ma byc wyswietlonych w jednym wierszu:");
scanf("%d",&z);
losuj(ROZMIAR,tablica,p,k);
wyswietl(ROZMIAR,tablica,z);
printf("\n---------\nSrednia=%.3f\n",srednia(ROZMIAR,tablica));
getchar();
getchar();
return 0;
} |
program 5
Kod: |
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#define ROZMIAR 100
void losuj(int n, int *tab, int p, int k)
{
int i;
srand(time(NULL));
for (i=0;i<n;++i)
{
tab[i]=rand()%(1+k-p)+p;
}
}
void wyswietl(int n, int *tab, int k)
{
int i;
for (i=0;i<n;++i)
{
if (i!=0 && i%k==0) printf("\n");
printf("%7d",tab[i]);
}
}
void sortuj(int n, int *tab)
{
int i,a,x;
do
{
x=0;
for (i=1;i<n;i++)
{
if(tab[i] < tab[i-1])
{
a=tab[i];
tab[i]=tab[i-1];
tab[i-1]=a;
x=1;
}
}
}
while (x==1);
}
int main(void)
{
int tablica[ROZMIAR];
int k;
int a,b,z;
printf("\n");
printf("podaj poczatek przedzialu:"); scanf("%d", &a);
printf("\n");
printf("podaj koniec przedzialu:"); scanf("%d", &b);
printf("Podaj ile liczb ma byc wyswietlonych jednym wierszu:"); scanf("%d",&z);
losuj(ROZMIAR,tablica,a,b);
wyswietl(ROZMIAR,tablica,z);
sortuj(ROZMIAR,tablica);
printf("\n--------------------------------------------------------------------------\n");
wyswietl(ROZMIAR,tablica,z);
getchar();
getchar();
return 0;
}
|
program 6
Kod: |
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#define ROZMIAR 10
void losuj(int n, int *tab, int p, int k)
{
int i;
srand(time(NULL));
for (i=0;i<n;++i)
{
tab[i]=rand()%(1+k-p)+p;
}
}
void wyswietl(int n, int *tab, int k)
{
int i;
for (i=0;i<n;++i)
{
if (i!=0 && i%k==0) printf("\n");
printf("%7d",tab[i]);
}
}
void odwroc(int n, int *tab)
{
int i,tmp;
for (i=0;i<n/2;++i)
{
tmp=tab[i];
tab[i]=tab[n-i-1];
tab[n-i-1]=tmp;
}
}
int main(void)
{
int tablica[ROZMIAR];
int p,k,z;
printf("Podaj p="); scanf("%d", &p);
printf("\n");
printf("Podaj k="); scanf("%d", &k);
printf("Podaj ile ma byc liczb w jednym wierszu:"); scanf("%d",&z);
losuj(ROZMIAR,tablica,p,k);
wyswietl(ROZMIAR,tablica,z);
odwroc(ROZMIAR,tablica);
printf("\n--------------------------------------------------------------------------\n");
wyswietl(ROZMIAR,tablica,z);
getchar();
getchar();
return 0;
}
|
program 7
Kod: |
#include <stdio.h>
#include <stdlib.h>
#define roz 12
void Losuj(int n, int *Tab, int p, int k)
{
int i;
for (i=0;i<n;i++)
{
Tab[i]=rand()%(1+k-p)+p;
}
}
void Wyswietl (int n, int *Tab, int k)
{
int i;
for (i=0;i<n;i++)
{
if ((i%k)==0) printf("\n");
printf("%d ",Tab[i]);
}
}
void Dzielniki(int n, int *Tab, int m)
{
int i;
for (i=0;i<n;i++)
{
if (m%Tab[i]==0) printf ("%d ",Tab[i]);
}
}
int main()
{
int i,p,k,z,n;
int tab[roz];
system("CLS");
printf("podaj p="); scanf("%d",&p);
printf("\npodaj k="); scanf("%d", &k);
printf("ile liczb ma byc w jednym wierszu:"); scanf("%d", &z);
printf("Podaj liczbe ktorej chcesz otrzymac dzielniki:"); scanf("%d", &n);
Losuj(roz,tab,p,k);
printf("\n\nTablica:\n");
Wyswietl(roz,tab,z);
printf("\n\nDzielniki liczby %d :\n",n);
Dzielniki(roz,tab,n);
getchar();
getchar();
return 0;
}
|
program 8
Kod: |
#include <stdio.h>
#include <stdlib.h>
#define roz 40
void Losuj(int n, int *Tab, int p, int k)
{
int i;
for (i=0;i<n;i++)
{
Tab[i]=(rand()%(k-p+1))+p;
}
}
void WyswietlPrzedzialami (int n, int *Tab, int k)
{
int i;
for (i=0;i<n;i++)
{
if ((i%k)==0) printf("\n");
printf("%d ",Tab[i]);
}
}
int main(void)
{
int i,a,b,prz;
int tab[roz];
printf("Podaj poczatek przedzialu:"); scanf("%d",&a);
printf("\n");
printf("Podaj koniec przedzialu:"); scanf("%d",&b);
Losuj(roz,tab,a,b);
printf("\nPodaj po ile liczb ma byc w przedziale: ");
scanf("%d",&prz);
while (prz>10 || prz<1)
{
printf("\nPrzedzial nieprawidlowy");
printf("\nPodaj ponownie rozmiar przedzialu: ");
scanf("%d",&prz);
}
printf("\n\nTablica:\n");
WyswietlPrzedzialami(roz,tab,prz);
getchar();
getchar();
return 0;
} |
program 9
Kod: |
#include <stdio.h>
#include <stdlib.h>
void LiczZnaki(char *SciezkaDoPliku, int *IleBajtow)
{
char LI[500];
int i,j;
FILE *plik;
plik=fopen(SciezkaDoPliku,"r");
for (i=0;i<256;i++)
{IleBajtow[i]=0;}
while(fgets(LI,499,plik)!=NULL)
{
for (i=0;LI[i]!=NULL;i++)
{
for(j=0;j<256;j++)
{
if (LI[i]==j) IleBajtow[j]++;
}
}
}
fclose(plik);
}
void Wyswietl(int n, int *Tab, int k)
{
int i;
for (i=0;i<n;i++)
{
if (i%k==0) printf("\n");
printf ("%c - %i ",i,Tab[i]);
}
}
int main()
{
int z;
int IleBajtow[256];
char Link[]="PLIK.txt";
printf("podaj liczbe znakow w wierszu:");
scanf("%d", &z);
system("CLS");
LiczZnaki(Link,IleBajtow);
Wyswietl(256,IleBajtow,z);
getchar();
getchar();
return 0;
} |
program 10
Kod: |
#include <stdio.h>
#include <stdlib.h>
char SzukajMax(char *SciezkaDoPliku)
{
char lix,LI[500];
int i=0,j=0,x1=0,x2=0;
FILE *plik;
for(j=0;j<256;j++)
{
plik=fopen(SciezkaDoPliku,"r");
while(fgets(LI,499,plik)!=NULL)
{
for (i=0;LI[i]!=NULL;i++)
{
if (j==LI[i]) x2++;
}
}
fclose(plik);
if(x2>x1)
{
x1=x2;
lix=j;
}
x2=0;
}
return lix;
}
char SzukajMin(char *SciezkaDoPliku)
{
char lix,LI[500];
int i=0,j=0,x1=0,x2=0;
FILE *plik;
for(j=0;j<256;j++)
{
plik=fopen(SciezkaDoPliku,"r");
while(fgets(LI,499,plik)!=NULL)
{
for (i=0;LI[i]!=NULL;i++)
{
if (j==LI[i]) x2++;
}
}
fclose(plik);
if (x1==0 && x2!=0)
{
x1=x2;
lix=j;
}
if(x1!=0 && x2<x1 && x2!=0)
{
x1=x2;
lix=j;
}
x2=0;
}
return lix;
}
int main()
{
char Link[]="PLIK.txt";
system("CLS");
printf("\n\nNajwiecej razy wystepuje element: %c",SzukajMax(Link));
printf("\n\nNajmniej razy wystepuje element: %c",SzukajMin(Link));
system("PAUSE");
getchar();
return 0;
} |
Post został pochwalony 0 razy
Ostatnio zmieniony przez syl242 dnia Nie 22:57, 28 Sty 2007, w całości zmieniany 4 razy
|
|
Powrót do góry |
|
|
|
|
Yeti
Studencik
Dołączył: 20 Gru 2006
Posty: 4
Przeczytał: 0 tematów
Ostrzeżeń: 0/3
|
Wysłany: Nie 17:45, 28 Sty 2007 Temat postu: |
|
|
Szkoda że tylko do 10 programu. Osoby z listy, które są na 11,12,13 i 14 pozycji mają niezle pozamiatane (Szkoda że jestem wśród nich xD).
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Adriano7
Studencik
Dołączył: 08 Gru 2006
Posty: 14
Przeczytał: 0 tematów
Ostrzeżeń: 0/3 Skąd: Kołobrzeg
|
Wysłany: Nie 20:14, 28 Sty 2007 Temat postu: |
|
|
Yeti napisał: |
Szkoda że tylko do 10 programu. Osoby z listy, które są na 11,12,13 i 14 pozycji mają niezle pozamiatane (Szkoda że jestem wśród nich xD). |
To co on będzie dawał po kolei wg listy od 1 zadania do 14 ? To ja jak jestem na początku listy to może się uda dostać jeden z pierwszych programów
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
syl242
Administrator
Dołączył: 30 Lis 2006
Posty: 53
Przeczytał: 0 tematów
Ostrzeżeń: 0/3 Skąd: Koszalin
|
Wysłany: Nie 20:17, 28 Sty 2007 Temat postu: |
|
|
spoko, wrzucę do 12
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Adriano7
Studencik
Dołączył: 08 Gru 2006
Posty: 14
Przeczytał: 0 tematów
Ostrzeżeń: 0/3 Skąd: Kołobrzeg
|
Wysłany: Nie 20:27, 28 Sty 2007 Temat postu: |
|
|
Ludzie to prawda, że Majchrzu ma jakiś programik, który śledzi co każdy studencik robi na swoim kompie ? Słyszał ktoś coś o tym?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
syl242
Administrator
Dołączył: 30 Lis 2006
Posty: 53
Przeczytał: 0 tematów
Ostrzeżeń: 0/3 Skąd: Koszalin
|
Wysłany: Nie 20:29, 28 Sty 2007 Temat postu: |
|
|
program 11
Kod: |
#include <stdio.h>
#include <stdlib.h>
char SzukajMax(char *SciezkaDoPliku)
{
char lix,LI[500];
int i=0,j=0,x1=0,x2=0;
FILE *plik;
for(j=0;j<256;j++)
{
plik=fopen(SciezkaDoPliku,"r");
while(fgets(LI,499,plik)!=NULL)
{
for (i=0;LI[i]!=NULL;i++)
{
if (j==LI[i]) x2++;
}
}
fclose(plik);
if(x2>x1)
{
x1=x2;
}
x2=0;
}
return x1;
}
char SzukajMin(char *SciezkaDoPliku)
{
char lix,LI[500];
int i=0,j=0,x1=0,x2=0;
FILE *plik;
for(j=0;j<256;j++)
{
plik=fopen(SciezkaDoPliku,"r");
while(fgets(LI,499,plik)!=NULL)
{
for (i=0;LI[i]!=NULL;i++)
{
if (j==LI[i]) x2++;
}
}
fclose(plik);
if (x1==0 && x2!=0) x1=x2;
if(x2<x1 && x2!=0) x1=x2;
x2=0;
}
return x1;
}
int main()
{
char Link[]="PLIK.txt";
system("CLS");
printf("\n\nSymbol wystepujcy najczesciej powtarza sie: %i",SzukajMax(Link));
printf("\n\nSymbol wystepujcy najzadziej powtarza sie: %i",SzukajMin(Link));
getchar();
return 0;
} |
program 12
Kod: |
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void RysujRamke (int X1, int Y1, int X2, int Y2, char Znak, int Kolor, int KolorTla)
{
int x,y;
gotoxy (X1,Y1);
for (y=Y1;y<Y2+1;y++)
{
gotoxy(X1,y);
for (x=X1;x<X2+1;x++)
{
if (x==X1 || x==X2 || y==Y1 || y==Y2)
{
textcolor(Kolor);
textbackground(BLACK);
cprintf("%c",Znak);
}
if (x!=X1 && x!=X2 && y!=Y1 && y!=Y2)
{
textbackground(KolorTla);
cprintf(" ");
}
}
}
}
int main()
{
int x1, y1, x2, y2, kolor, kolortla;
printf("\nPodaj x1:"); scanf("%d", &x1);
printf("\nPodja y1:"); scanf("%d", &y1);
printf("\nPodaj x2:"); scanf("%d", &x2);
printf("\nPodaj y2:"); scanf("%d", &y2);
printf("\nPodaj kolor ramki-liczba:"); scanf("%d",&kolor);
printf("\nPodaj kolor tla-liczba: "); scanf("%d", &kolortla);
system("CLS");
RysujRamke(x1,y1,x2,y2,'#',kolor,kolortla);
getchar();
getchar();
return 0;
} |
program 14
Kod: |
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
FILE * Czytany;
FILE * Zapisywany;
fpos_t Rozmiar = 0;
long long int Skopiowano = 0;
char Bajt;
char NazwaPliku[255];
printf("Podaj sciezke do kopiowanego pliku = ");
scanf("%s", NazwaPliku);
Czytany = fopen(NazwaPliku, "r");
if(!Czytany)
{
printf("Nie odnaleziono pliku!\n");
system("pause");
return;
}
else
{
fseek(Czytany, 0, SEEK_END);
fgetpos(Czytany, &Rozmiar);
printf("Podaj sciezke kopi pliku = ");
scanf("%s", NazwaPliku);
Zapisywany = fopen(NazwaPliku, "w+");
if(!Zapisywany)
{
fclose(Czytany);
printf("Nie mozna otworzyc pliku!\n");
system("pause");
return;
}
else
{
Skopiowano = 0;
fseek(Czytany, 0, SEEK_SET);
while(fscanf(Czytany, "%c", &Bajt) != EOF)
{
fprintf(Zapisywany, "%c", Bajt);
Skopiowano++;
system("cls");
printf("Rozmiar = %d bajtow.\n", Rozmiar);
printf("Skopiowano = %3.2f%%.\n", (float) (100 * Skopiowano) / (float)
(Rozmiar));
}
fclose(Zapisywany);
}
fclose(Czytany);
}
system("pause");
}
|
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Adriano7
Studencik
Dołączył: 08 Gru 2006
Posty: 14
Przeczytał: 0 tematów
Ostrzeżeń: 0/3 Skąd: Kołobrzeg
|
Wysłany: Nie 22:37, 28 Sty 2007 Temat postu: |
|
|
program 2. jest taki sam jak pierwszy, a on miał wyświetlać wartości w kolorach. Ma ktoś poprawiony program 2. ?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
syl242
Administrator
Dołączył: 30 Lis 2006
Posty: 53
Przeczytał: 0 tematów
Ostrzeżeń: 0/3 Skąd: Koszalin
|
Wysłany: Nie 22:58, 28 Sty 2007 Temat postu: |
|
|
Adriano7 napisał: |
program 2. jest taki sam jak pierwszy, a on miał wyświetlać wartości w kolorach. Ma ktoś poprawiony program 2. ? |
już wkleiłem dobry kod źródłowy
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
|