Автор: AndreySch
Дата сообщения: 16.06.2007 10:21
ГОспода помогите составить грамотные блок схемы по вот этим 4 програмкам ,очень надо ,помогите.......
Листинг программы.
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define HB 5 // razmer massiva
void main()
{
float a[HB]; //massiv
int min; // nomer min eleventa
int i; //index massiva
printf("\npoisk min elem mas\n");
printf("vvedite v odnoy stroke elem mas,\n");
printf("%i zelyx zisel,i nagmite<Enter>\n", HB);
printf("->");
for (i=0;i<HB;i++)
scanf("%f", &a[i]);
min=0;
for(i=1;i<HB;i++)
if( fabs(a[i]) < fabs(a[min]) )
min = i;
printf("nomer min po moduly elem: %i\n",min);
for( i=0;i<HB;i++)
if( a[i]<0 )
break;
float sum=0;
for( i++; i<HB; i++)
sum+=fabs(a[i]);
printf("summa moduley elem raspologenih posle 1-go otrizat. elem. massiva: %3.0f\n", sum);
float x, y;
printf("vvedite nizhnii predel: ");
scanf("%f", &x);
printf("vvedite verhnii predel: ");
scanf("%f", &y);
float b[HB];
int j=0;
for( i=0; i<HB; i++ )
if( (a[i]<x) || (a[i]>y) )
{
b[j]=a[i];
j++;
}
for( ; j<HB; j++ )
b[j]=0;
printf("novij massiv: ");
for( j=0; j<HB; j++ )
printf("%3.0f",b[j]);
getch();
}
Листинг программы.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
float ln(float);
void main ()
{
float i, h=0.01, a, b;
clrscr();
printf ("Vvedite nachalo intervala tabulirovanya:\n");
scanf ("%f", &a);
printf ("Vvedite konec intervala tabulirovanya:\n");
scanf ("%f", &b);
printf ("|------------------------------------------------------------------------|\n");
printf ("| | Pri razlozhenii | Proverka| Ea | Eo |\n");
printf ("|------------------------------------------------------------------------|\n");
printf ("| x | F(x) | F(x)st | F(x)-F(x)st | F(x)-F(x)st)/F(x) |\n");
printf ("|------------------------------------------------------------------------|\n");
for (i=a; i<b; i+=h)
printf ("| %1.2f | %6.3f | %6.3f | %1.7f | %1.8f |\n",
i, ln(i), log((i+1)/i), fabs(ln(i)-log(i+1)/i),
(fabs(ln(i)-log(i+1)/i)/ln(i)));
printf ("|------------------------------------------------------------------------|\n");
getchar();
}
float ln(float x)
{
float E=1e-4, ln_value=0, chisl=1, znam=2*x+1, value, nomer=1;
do
{
chisl=1;
znam*=nomer;
value=chisl/znam;
ln_value+=2*value;
znam/=nomer;
znam*=znam;
nomer+=2;
}
while (fabs(value)>E);
return ln_value;
}
Листинг программы.
#include<time.h>
#include<iostream.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
void main()
{
int j,i,n=5,k,x; //объявляем переменные
float sum;
randomize();
clrscr();
float **mas=new float*[n]; // задание матрицы
for( i=0;i<n;i++ )
mas[i] = new float[n];
printf("---\n");
for( i=0;i<n;i++ )
{
for( j=0;j<n;j++ )
{
mas[i][j]=random(10)-1;
printf("%3.0f ",mas[i][j]); // выводим созданную матрицу
}
printf("\n");
}
for ( i=0;i<n;i++)
for (j=0;j<i;j++)
{
float coeff=mas[i][j]/mas[j][j];
for (k=j;k<n;k++)
mas[i][k]=mas[i][k]-mas[j][k]*coeff; // цикл преобразования матрицы в треугольный вид
}
printf ("vvedite zadanuy velichinu: ");
scanf ("%i",&x);
int count=0; //вычисление среднеарифметического значения каждой строки
for(i=0;i<n;i++)
{
sum=0;
for (j=0;j<n;j++)
sum=sum+mas[i][j];
sum=sum/n;
if( sum<x )
count++;
}
printf( "Sistenu priveli k treugolnomu vidu :\n\n");
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf( "%3.0f ", mas[i][j] );
printf("\n");
}
printf( "V dannom massive soderjitsya kol-vo strok \n ");
printf("so sredneorifmetisheskim menchezadanoy welicheny:\n");
printf("%d",count);
getch();
}
Листинг программы.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
typedef struct //sozdanie struktury MARSH
{
char BEGST[7];
char TERM[16];
int NUMR;
}MARSH;
void main ()
{
MARSH *TRAFIC; //sozdanie massiva TRAFIC
FILE *f; //iz struktur MARSH
int count, i;
int punkt;
clrscr();
if ((f=fopen("I:\in.dat", "r"))==NULL) //Chtenie faila
return;
fscanf(f, "%d", &count); //Inicializaciya i
TRAFIC=new MARSH[count]; //zapolnenie massiva TRAFIC
for (i=0; i<count; i++)
{
fscanf (f, "%s %s %d", &TRAFIC[i].BEGST, &TRAFIC[i].TERM,
&TRAFIC[i].NUMR);
}
printf (" Vvedite nomer marshruta: ");
scanf ("%d", &punkt);
int kol=0;
for (i=0; i<count; i++)
if ((punkt==TRAFIC[i].NUMR)) //Poisk vybrannogo marshruta
{
printf ("\n Avtobus sleduet po marshrutu N%d: %s - %s\n", TRAFIC[i].NUMR, TRAFIC[i].BEGST,
TRAFIC[i].TERM);
kol++;
}
if (kol==0) printf ("Marshruta %d ne sush'estvuet", punkt);
getch();
}