Структуры - 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д