Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
28.06.2014
Размер:
3.17 Кб
Скачать
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>

#define NMAX 100

    // Opredelenie tipov peremennih

float *Vvod (char *ifile,int *n);
int Sum(float x[NMAX], int n, float  q);

int main (int argc, char *argv[])
   {
      float *a, *b, *c;
      float sa, sb, sc, q, mini;
      int an, bn, cn;
      int i; 

      if (argc < 3)
	 {
	    printf ("Neukazany neobhodimye parametry zapuska!\n");
	    getch();
            return 0;
	 }

    // Vvodim 3 masiva 

	if ((a = Vvod (argv[1], &an)) == 0)
	 {
	    printf ("Oshibka pri vvode massiva A!\n");
	    return 0;
	 }
	if ((b = Vvod (argv[2], &bn)) == 0)
	 {
	    printf ("Oshibka pri vvode massiva B!\n");
	    return 0;
	 }
	if ((c = Vvod (argv[3], &cn)) == 0)
	 {
	    printf ("Oshibka pri vvode massiva C!\n");
	    return 0;
	 }
     // Vichislenie iskomih summ 
    cout << "ЋЇаҐ¤Ґ«Ёвм, ў Є Є®¬ ¬ ббЁўҐ ¬Ґ­миҐ Є®«ЁзҐбвў® н«Ґ¬Ґ­в®ў,\nЎ®«миЁе § ¤ ­­®Ј® зЁб« \n"; 
    printf("‚ўҐ¤ЁвҐ зЁб«®\n");
    cin>>q;
    sa= Sum(a, an, q);
	sb= Sum(b, bn, q);
    sc= Sum(c, cn, q);
    cout << "ќ«Ґ¬Ґ­в®ў, Ў®«миЁе § ¤ ­­®Ј® зЁб«  " << q; 
    q=sa;
    if (sb < q) q=sb;
    if (sc < q) q=sc;
     
      if ((q == sa) && (q == sb) && (q == sc)) { cout <<" ў® ўбҐе ¬ ббЁў е ®¤Ё­ Є®ў®,\nЁ а ў­® "<< sa; }
      else if ((q == sa) && (q == sb)) {cout <<" ў ¬ ббЁў е 1 Ё 2 ¬Ґ­миҐ, 祬 ў 3,\nЁ а ў­® "<< sa; }
      else if ((q == sa) && (q == sc)) {cout <<" ў ¬ ббЁў е 1 Ё 3 ¬Ґ­миҐ, 祬 ў 2,\nЁ а ў­® "<< sa; }
      else if ((q == sb) && (q == sc)) {cout <<" ў ¬ ббЁў е 2 Ё 3, ¬Ґ­миҐ зҐ¬ ў 1,\nЁ а ў­® "<< sb; }
      else if (q == sa) {cout <<" ў ¬ ббЁўҐ 1 ¬Ґ­миҐ, 祬 ў ®бв «м­ле,\nЁ а ў­® "<< sa; }
      else if (q == sb) {cout <<" ў ¬ бЁбўҐ 2 ¬Ґ­миҐ, 祬 ў ®бв «м­ле,\nЁ а ў­® "<< sb; }
      else if (q == sc) {cout <<" ў ¬ ббЁўҐ 3 ¬Ґ­миҐ, 祬 ў ®бв «м­ле,\nЁ а ў­® "<< sc; }
      free(a); free(b); free(c);
   getch();
   }

float *Vvod (char *ifile, int *n)
   {
      FILE *file;
      int i;
      float *x;

      if ((file = fopen (ifile, "r")) == NULL)
	 {
	    printf ("Oshibka pri otkrytii fajla '%s'!\n", ifile);
	    return 0;
	 }
      if (fscanf (file, "%i", n) < 1)
	 {
	    printf ("Oshibka pri chtenii iz fajla '%s'!\n", ifile);
	    return 0;
	 }

      if (*n <= 0 || *n > 100)
      {
	printf ("Kolichestvo elementov massiva dolzhno bit' ot 1 do %d!\n", NMAX);
	return 0;
      }

      if ((x = (float *)malloc(*n * sizeof(float))) == NULL)
	 {
	    printf ("Nedostatochno pamyati!\n");
	    fclose (file);
	    return 0;
	 }
	 cout << "Massiv "<<ifile<<": "<<*n<<" elementov: ";
      for (i = 0; i < *n; i++)
	 if (fscanf (file, "%f", &x[i]) < 1)
	    {
	       fprintf (file,"Oshibka pri chtenii iz fajla '%s'!\n",ifile);
	       fclose(file);
	       return 0;
	    } 
      else {
           cout << x[i] <<", ";
           }
      fclose(file);
      cout <<"\n";
      return x;
   }

     //poisk summ
int Sum(float x[], int n, float q)
 { int i;
   int s=0;

	 for (i=0; i<n; i++)
	 { if (x[i] > q )
	    s++;
	 }
	 return s;
  }

Соседние файлы в папке Laba6