Структуры - C (СИ) (69620)

Узнай цену своей работы

Формулировка задачи:

Всем привет! В общем есть задача, где нужно создать с помощью структур координаты (Х,У), ещё одна структура где будет создаваться якобы точки треугольника. Далее требуется ввести координаты 3х точек и сохранить их в структуре, с этим вроде как я справился, но есть ещё одно условие программа должна уметь "смещать" треугольник на значения которые я задам. Это я тоже "выполнил", но главная проблема что это самое "смещение" должно выполняться в отдельной функции, как это сделать вместе с структурами я не понимаю) Надеюсь вы поможете.
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. struct Punkt
  4. {
  5. float x;
  6. float y;
  7. };
  8. struct Dreieck
  9. {
  10. struct Punkt kord1;
  11. struct Punkt kord2;
  12. struct Punkt kord3;
  13. };
  14. int main()
  15. {
  16. struct Dreieck r;
  17. float x, b;
  18. printf("Bitte gib Dreieck Punkt 1 (x|y): ");
  19. scanf("%f|%f",&r.kord1.x,&r.kord1.y);
  20. printf("Bitte gib Dreieck Punkt 2 (x|y): ");
  21. scanf("%f|%f",&r.kord2.x,&r.kord2.y);
  22. printf("Bitte gib Dreieck Punkt 3 (x|y): ");
  23. scanf("%f|%f",&r.kord3.x,&r.kord3.y);
  24. printf("\nWie viele soll das Dreieck verschoben werden? (x|y): ");
  25. scanf("%f|%f",&x,&b); //Здесь задаются координаты на сколько сместить треугольник.
  26. printf("\nNeue Position des Dreiecks:\n");
  27. printf("Punkt 1 (x|y): %f|%f\n",r.kord1.x+x,r.kord1.y+b); //Вот это смещение
  28. printf("Punkt 2 (x|y): %f|%f\n",r.kord2.x+x,r.kord2.y+b); //нужно вывести в отдельную функцию,
  29. printf("Punkt 3 (x|y): %f|%f\n",r.kord3.x+x,r.kord3.y+b); //вопрос как?
  30. return 0;
  31. }

Решение задачи: «Структуры»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct Punkt
  5. {
  6.     float x;
  7.     float y;
  8. };
  9. struct Dreieck
  10. {
  11.     struct Punkt kord1;
  12.     struct Punkt kord2;
  13.     struct Punkt kord3;
  14. };
  15. void Sdvig (struct Dreieck *q)
  16. {
  17.     float x, b;
  18.         printf("\nWie viele soll das Dreieck verschoben werden? (x|y): ");
  19.     scanf("%f|%f",&x,&b);
  20.         printf("\nNeue Position des Dreiecks:\n");
  21.     printf("Punkt 1 (x|y): %f|%f\n",q->kord1.x+x,q->kord1.y+b);
  22.     printf("Punkt 2 (x|y): %f|%f\n",q->kord2.x+x,q->kord2.y+b);
  23.     printf("Punkt 3 (x|y): %f|%f\n",q->kord3.x+x,q->kord3.y+b);
  24. }
  25. int main()
  26. {
  27.     struct Dreieck r;
  28.         printf("Bitte gib Dreieck Punkt 1 (x|y): ");
  29.     scanf("%f|%f",&r.kord1.x,&r.kord1.y);
  30.         printf("Bitte gib Dreieck Punkt 2 (x|y): ");
  31.     scanf("%f|%f",&r.kord2.x,&r.kord2.y);
  32.         printf("Bitte gib Dreieck Punkt 3 (x|y): ");
  33.     scanf("%f|%f",&r.kord3.x,&r.kord3.y);
  34.         Sdvig (&r);
  35.     return 0;
  36. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут