Структуры - C (СИ) (69620)
Формулировка задачи:
Всем привет! В общем есть задача, где нужно создать с помощью структур координаты (Х,У), ещё одна структура где будет создаваться якобы точки треугольника. Далее требуется ввести координаты 3х точек и сохранить их в структуре, с этим вроде как я справился, но есть ещё одно условие программа должна уметь "смещать" треугольник на значения которые я задам. Это я тоже "выполнил", но главная проблема что это самое "смещение" должно выполняться в отдельной функции, как это сделать вместе с структурами я не понимаю) Надеюсь вы поможете.
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- struct Punkt
- {
- float x;
- float y;
- };
- struct Dreieck
- {
- struct Punkt kord1;
- struct Punkt kord2;
- struct Punkt kord3;
- };
- int main()
- {
- struct Dreieck r;
- float x, b;
- printf("Bitte gib Dreieck Punkt 1 (x|y): ");
- scanf("%f|%f",&r.kord1.x,&r.kord1.y);
- printf("Bitte gib Dreieck Punkt 2 (x|y): ");
- scanf("%f|%f",&r.kord2.x,&r.kord2.y);
- printf("Bitte gib Dreieck Punkt 3 (x|y): ");
- scanf("%f|%f",&r.kord3.x,&r.kord3.y);
- printf("\nWie viele soll das Dreieck verschoben werden? (x|y): ");
- scanf("%f|%f",&x,&b); //Здесь задаются координаты на сколько сместить треугольник.
- printf("\nNeue Position des Dreiecks:\n");
- printf("Punkt 1 (x|y): %f|%f\n",r.kord1.x+x,r.kord1.y+b); //Вот это смещение
- printf("Punkt 2 (x|y): %f|%f\n",r.kord2.x+x,r.kord2.y+b); //нужно вывести в отдельную функцию,
- printf("Punkt 3 (x|y): %f|%f\n",r.kord3.x+x,r.kord3.y+b); //вопрос как?
- return 0;
- }
Решение задачи: «Структуры»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- struct Punkt
- {
- float x;
- float y;
- };
- struct Dreieck
- {
- struct Punkt kord1;
- struct Punkt kord2;
- struct Punkt kord3;
- };
- void Sdvig (struct Dreieck *q)
- {
- float x, b;
- printf("\nWie viele soll das Dreieck verschoben werden? (x|y): ");
- scanf("%f|%f",&x,&b);
- printf("\nNeue Position des Dreiecks:\n");
- printf("Punkt 1 (x|y): %f|%f\n",q->kord1.x+x,q->kord1.y+b);
- printf("Punkt 2 (x|y): %f|%f\n",q->kord2.x+x,q->kord2.y+b);
- printf("Punkt 3 (x|y): %f|%f\n",q->kord3.x+x,q->kord3.y+b);
- }
- int main()
- {
- struct Dreieck r;
- printf("Bitte gib Dreieck Punkt 1 (x|y): ");
- scanf("%f|%f",&r.kord1.x,&r.kord1.y);
- printf("Bitte gib Dreieck Punkt 2 (x|y): ");
- scanf("%f|%f",&r.kord2.x,&r.kord2.y);
- printf("Bitte gib Dreieck Punkt 3 (x|y): ");
- scanf("%f|%f",&r.kord3.x,&r.kord3.y);
- Sdvig (&r);
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д