automatyk
Administrator
Dołączył: 06 Paź 2007
Posty: 148
Przeczytał: 0 tematów
Pomógł: 3 razy Ostrzeżeń: 0/5
|
Wysłany: Wto 15:30, 13 Lis 2007 Temat postu: wyklad 12 listopad 2007 - programy |
|
|
ponizej daje programy, ktore na ostatnim wykladzie dostalismy a ktore bedziemy robic na najblizszych cwiczeniach
kody(programy) nie zawieraja komentarzy
program 1:
Kod: | #include <stdio.h>
#include <stdlib.h>
main (int argc, char *argv [])
{
int i, n;
unsigned long silnia;
printf ("\n=== Obliczanie n! ===");
n=atoi(argv[1]);
silnia=1;
if (n>1) {
for (i=1; i<=n; i++)
{ silnia=silnia*i;
printf ("\n Dla i = %3d n! = %121d",i,silnia);
}
}
return (0);
}
|
program 2:
Kod: | #include <stdio.h>
#include <stdlib.h>
#include <math.h>
main (int argc, char *argv[])
{
float a,b,c,delta,x1,x2;
a=atof(argv[1]);
b=atof(argv[2]);
c=atof(argv[3]);
printf("\n===== Rownanie kwadratowe =====");
printf("\na = %10.2f b = %10.2f c = %10.2f",a,b,c);
if (a!=0) {
delta=b*b-4.0*a*c;
if (delta >=0){
x1=(-b-sqrt(delta))/2/a;
x2=(-b+sqrt(delta))/2/a;
printf("\ndelta = %10.2f",delta);
printf("\nx1=%10.2f x2=%10.2f",x1,x2);
}
else printf("\ndelta ujemna = %10.2f - rownanie kwadratowe nie ma rozw. rzeczywistych",delta);
} // if (a!=0)
return (0);
}
|
program 3:
Kod: | #include <stdio.h>
#include <math.h>
main ()
{
float a,b,c,delta,x1,x2;
int znak,licznik;
FILE *wejscie, *wyjscie;
wejscie=fopen("3.dat","r");
wyjscie=fopen("3.out","r");
licznik=0;
while (!feof(wejscie))
{
fscanf(wejscie,"%f %f %f",&a,&b,&c);
licznik++;
fprintf(wyjscie,"\n===== Rownanie kwadratowe ===== %3d",licznik);
fprintf(wyjscie,"\na = %10.2f b = %10.2f c = %10.2f",a,b,c);
if (a!=0) {
delta=b*b-4.0*a*c;
if (delta >=0){
x1=(-b-sqrt(delta))/2/a;
x2=(-b+sqrt(delta))/2/a;
fprintf(wyjscie,"\ndelta = %10.2f",delta);
fprintf(wyjscie,"\nx1=%10.2f x2=%10.2f",x1,x2);
}
else fprintf(wyjscie,"\ndelta ujemna = %10.2f - rownanie kwadratowe nie ma rozw. rzeczywistych",delta);
fprintf (wyjscie,"\n\n");
} // if (a!=0)
}
fclose(wejscie); fclose(wyjscie);
return (0);
}
|
program 4:
Kod: | #include <stdio.h>
main()
{
int i,n,max;
int x[20];
FILE *wejscie;
wejscie=fopen("dane","r");
fscanf(wejscie,"%d",&n);
printf("\n === Dane === n = %5d\n",n);
for(i=0; i<n; i++) fscanf(wejscie,"%d",&x[i]);
fclose(wejscie);
for(i=0; i<n; i++) printf("%5d",x[i]);
max=x[0];
for(i=1; i<n; i++) if (x[i]>max) max=x[i];
printf("\n-----najwieksza liczba = %5d-----\n",max);
return(0);
}
|
program 5:
Kod: | #include <stdio.h>
main()
{
int i,n,min;
int x[20];
FILE *wejscie;
wejscie=fopen("dane","r");
fscanf(wejscie,"%d",&n);
printf("\n === Dane === n = %5d\n",n);
for(i=0; i<n; i++) fscanf(wejscie,"%d",&x[i]);
fclose(wejscie);
for(i=0; i<n; i++) printf("%5d",x[i]);
min=x[0];
for(i=1; i<n; i++) if (x[i]<min) min=x[i];
printf("\n-----najmniejsza liczba = %5d-----\n",min);
return(0);
}
|
program 6:
Kod: | #include <stdio.h>
main()
{
int i,n,licznik_zmian,xx;
int x[20];
FILE *wejscie;
wejscie=fopen("dane","r");
fscanf(wejscie,"%d",&n);
printf("\n=== Dane === n = %5d\n",n);
for(i=0; i<n; i++) fscanf(wejscie,"%d",&x[i]);
fclose(wejscie);
for(i=0; i<n; i++) printf("%5d\n",x[i]);
do {
licznik_zmian=0;
for(i=1; i<n; i++)
if(x[i]>x[i-1])
{ xx=x[i]; x[i]=x[i-1]; x[i-1]=xx; licznik_zmian++; }
} while(licznik_zmian!=0);
printf("ciag posortowany malejaco:\n");
for(i=0; i<n; i++) printf("%5d\n",x[i]);
do {
licznik_zmian=0;
for(i=1; i<n; i++)
if(x[i]<x[i-1]
{ xx=x[i]; x[i]=x[i-1]; x[i-1]=xx; licznik_zmian++; }
} while(licznik_zmian!=0);
printf("ciag posortowany rosnaco:\n");
for(i=0; i<n; i++) printf("%5d\n",x[i]);
return (0);
}
|
Post został pochwalony 3 razy
|
|