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, egyenloseget is kozrefogasnak tekintve. Meg kell hatarozni az ily modon kozrefogott szamok negyzetenek az atlagat. Ki kell iratni a ket eredmenyt! (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: 2018/10/19 18:51 by admin
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki