User Tools

Site Tools


tanszek:oktatas:szamitastechnika:vektorok_algoritmusok

1. pelda

Irjon C programot a kovetkezo feladatra: Meg kell szamlalni azokat az ottel oszthato szamokat, amelyek a hettol V-ig terjedo szamtartomanyban vannak. V erteket elozetesen billentyuzetrol be kell kerni. Az eredmenyt ki kell iratni a kepernyore.

    #include <stdio.h>
    
    void main(void)
    { 
      int szam, db,i,V;
      
      printf("Ottel maradek nelkul oszthato szamok szamlalasa\n\n");
      printf("A tartomany vegerteke="); 
      scanf("%d", &V);
      
      for (db=0, i=7; i <= V; i++)
      {
         if (i % 5 == 0) 
         {
             db++;
         }
      }
      printf("\nA 7-tol %d-ig terjedo intervallumba %d db ottel oszthato szam esik.",V,db);
    }

2. példa

Be kell kerni egy tankor hallgatoinak szamat, majd az egyes hallgatok centimeterben adott magassagat be kell olvasni egy vektorba. Meg kell hatarozni es ki kell iratni a 175 centimeter felettiek magassagatlagat

    #include <stdio.h>
    
    void main(void)
    { 
      int letszam, szumma, db, i;
      float magassagvektor[100];
      
      printf("   175 cm feletti hallgatok magassagatlaganak szamitasa\n\n");
      printf("A tankorletszam="); 
      
      scanf("%d",&letszam);
      
      printf("\nAdja meg az egyes hallgatok magassagat centimeterben!\n\n");
      
      for (i=0; i<letszam; i++)
      {
         printf("A %d. hallgato magassaga=",i+1);
         scanf("%f",&magassagvektor[i]);
      }
      
      for (szumma=0,db=0,i=0; i < letszam; i++)
      {
         if (magassagvektor[i]>175) 
         {
             db++; 
             szumma+=magassagvektor[i]; 
         }
      }
      if (db != 0) 
      {
          printf("\n\nA 175 cm feletti hallgatok magassagatlaga= %5.1lf cm", (double)szumma/db);
      }
      else 
      {
         printf("Nincs ilyen hallgato");
      }
    }

3. példa

Billentyuzetrol bekert darabszamu adatharmast kell beolvasni harom vektorba. Meg kell szamlalni, hogy hany adatharmasra igaz az, hogy az elso ket egesz szam kozrefogja a harmadik egesz szamot, egyenlőséget is kozrefogasnak tekintve. Meg kell hatarozni az ily módon közrefogott számok négyzetének az átlagát. Ki kell iratni a ket eredményt! (34 pont)

    #include <stdio.h>
    
    void main(void)
    { 
      int sz1[100],sz2[100],sz3[100], db, kozrefogok, i;
      long int negyzetosszeg;
      
      printf("  Szamharmasok feldolgozasa\n\n");
      printf("Szamharmasok szama="); scanf("%d",&db);
      
      for (i=0; i<db; i++)
      {
       printf("\n\nAz %d. szamharmas elso szama=", i+1);
       scanf("%d",&sz1[i]);
       printf("\nAz %d. szamharmas masodik szama=", i+1);
       scanf("%d",&sz2[i]);
       printf("\nAz %d. szamharmas harmadik szama=", i+1);
       scanf("%d",&sz3[i]);
      }
      
      for (kozrefogok = negyzetosszeg = i = 0; i < db; i++)
      {
          if (sz1[i]<=sz3[i] && sz3[i]<=sz2[i] || sz2[i]<=sz3[i] && sz3[i]<=sz1[i])
          { 
              kozrefogok++; negyzetosszeg+= sz3[i]*sz3[i];
          }
      }
      
      printf("\n\nKozrefogott szamok szama= %d, negyzetuk atlaga= %6.2lf",
                  kozrefogok, (double)negyzetosszeg/kozrefogok);
    }

4. példa

Karaktervektorok kezelese.

Dadogtatos jatek. Pl.: Hu, de jo! Dadogva: Huhu, dede jojo! Celszeru eloszor szavakkal futtatni, utana lehet mondatokkal is. Az elso maganhangzoig megy elore, majd a megtett reszt ismetli.

    #include <stdio.h>
    void main(void)
    { 
      char mondat[80], dadogva[255], szotag[25], szokoztelenul[255];
      int i, j, k, kk;
      
      printf("Dadogtatos jatek: kicsi csacsisag...\n\n");
      printf("Add meg a mondatot a kovetkezo sorban kisbetukkel, ekezet nelkul:");
      
      gets(mondat);
      
      i=j=k=0;
      
      while (mondat[i]) //ha nem ures
      {
       while (mondat[i] && ( mondat[i]!='e' && mondat[i]!='u' &&
                 mondat[i]!='i' &&
                 mondat[i]!='o' && mondat[i]!='a'))
       {
           dadogva[j]=mondat[i]; szotag[k]=mondat[i]; i++;j++;k++;
       }
       
       if (mondat[i])  //attesszuk a maganhangzot is
       {
           dadogva[j]=mondat[i]; 
           szotag[k]=mondat[i]; 
           i++;j++;k++;
       }
       
       for(kk=0; kk < k; kk++)   //hozzafuzzuk a dadogast, azaz a szotagot
       { 
           dadogva[j]=szotag[kk]; j++;
       }
       
       k=0; //uj szotag jon
      }
      
      dadogva[j]='\0';
      
      i=j=0;
      
      while (dadogva[i]) //szokozok kiszedese, hogy gordulekenyebben dadogjon :-)
      {
         if (dadogva[i] !=' ')
         {
          szokoztelenul[j] = dadogva[i]; 
          i++;
          j++;
         }
         else 
         {
         i++;
         }
      }
      
      szokoztelenul[j]='\0';
      puts(szokoztelenul);
    }

tanszek/oktatas/szamitastechnika/vektorok_algoritmusok.txt · Last modified: 2022/09/05 21:50 by knehez