Informatika3-2024/Megoldasok1

A MathWikiből

Tartalomjegyzék

Megoldások

Csak azoknak a feladatoknak lesznek itt a megoldásai amiket megbeszéltünk gyakorlaton. A többi feladat tökéletes ZH-ra gyakorlásnak!

1. Feltételes print
#include<stdio.h>
 
int main(void) {
  /* x és y változók deklarálása, értékadás */
  int x; // lehetne int x = 5; is
  int y; // az valtozo definicio lenne
  x = 5;
  y = 2;
 
 
  printf("X erteke: %d\n", x); // kiirjuk a valtozok erteket
  printf("Y erteke: %d\n", y);
 
  printf("\n"); // ez csak egy ures uj sor
 
  /* egy feltételes utasítással (if, else if, else) érd el hogy mindig igaz állítás kerüljön a képernyőre */
  if (x > y) { // sima feltetel
    printf("%d nagyobb mint %d!\n", x, y);
  } else if (x < y) { // nincs elif, else if-et kell hasznalni
    printf("%d nagyobb mint %d!\n", y, x);
  } else {
    printf("%d ugyanannyi mint %d!\n", x, x);
  }
 
  return 0;
}

Beolvasással:

#include<stdio.h>
 
int main(void) {
  /* x és y változók deklarálása, értékadás */
  int x; // lehetne int x = 5; is
  int y; // az valtozo definicio lenne
 
  printf("Add meg x értékét: ");
  scanf("%d", &x);
  printf("Add meg y értékét: ");
  scanf("%d", &y);
 
  printf("X erteke: %d\n", x); // kiirjuk a valtozok erteket
  printf("Y erteke: %d\n", y);
 
  printf("\n"); // ez csak egy ures uj sor
 
  /* egy feltételes utasítással (if, else if, else) érd el hogy mindig igaz állítás kerüljön a képernyőre */
  if (x > y) { // sima feltetel
    printf("%d nagyobb mint %d!\n", x, y);
  } else if (x < y) { // nincs elif, else if-et kell hasznalni
    printf("%d nagyobb mint %d!\n", y, x);
  } else {
    printf("%d ugyanannyi mint %d!\n", x, x);
  }
 
  return 0;
}


2. For ciklus
#include<stdio.h>
 
int main(void) {
  /* deklarációk és értékadások */
  int i; // elég csak deklaralni, mert a ciklusban ugyis adunk neki kezdo erteket
 
  for (i = 1 ; i <= 100; i++) { // az is jo megoldas, ha 2-tol megyunk 2-esevel
    if (i % 2 == 0) {           // abban az esetben feltetel nem kell
      printf("%d\n", i);        // hanem az i++ helyett i += 2
    }
  }
  return 0;
}


3. Do / while ciklusok
#include<stdio.h>
 
int main(void) {
  int x;     // ebbe olvassuk be a szamokat
  float s = 0; // ebben taroljuk majd a szamok osszeget
  int n = 0;   // ebben szamoljuk hany szamot lattunk mar
 
  scanf("%d", &x);
  while(x != 0) {
    s += x;
    n++;
    scanf("%d", &x); // minden ciklus vegen uj szamot olvasunk be
  }
  printf("%f\n", s / n); // %f-el tudunk float-okat kiirni
                         // float / int osztas float-ot eredmenyez
                         // de pl int / int osztas int-et
                         // probaljatok ki mi tortenne,
                         // ha az s valtozo float helyett int lenne
  return 0;
}
Személyes eszközök