Skip to content
Snippets Groups Projects
Commit 818eca32 authored by Benjamin-Sitbon's avatar Benjamin-Sitbon
Browse files

Fonctions

New,Add and Sub
parent 3d176816
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="CPP_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/galaxy_simulator.iml" filepath="$PROJECT_DIR$/.idea/galaxy_simulator.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeRunConfigurationManager" shouldGenerate="true" shouldDeleteObsolete="true">
<generated />
</component>
<component name="CMakeSettings">
<configurations>
<configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
</configurations>
</component>
<component name="ChangeListManager">
<list default="true" id="43aff179-c306-46b9-b69f-eca5306fbf96" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/Vector" beforeDir="false" afterPath="$PROJECT_DIR$/Vector" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Vector.c" beforeDir="false" afterPath="$PROJECT_DIR$/Vector.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Vector.h" beforeDir="false" afterPath="$PROJECT_DIR$/Vector.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Vector.o" beforeDir="false" afterPath="$PROJECT_DIR$/Vector.o" afterDir="false" />
<change beforePath="$PROJECT_DIR$/makefile" beforeDir="false" afterPath="$PROJECT_DIR$/makefile" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileEditorManager">
<leaf>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/Vector.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="376">
<caret line="93" lean-forward="true" selection-start-line="93" selection-end-line="93" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Vector.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="187">
<caret line="11" selection-start-line="11" selection-end-line="11" selection-end-column="54" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/makefile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/Vector.h" />
<option value="$PROJECT_DIR$/makefile" />
<option value="$PROJECT_DIR$/Vector_Test.h" />
<option value="$PROJECT_DIR$/Vector_Test.c" />
<option value="$PROJECT_DIR$/Vector.c" />
</list>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="7">
<option name="x" value="681" />
<option name="y" value="33" />
<option name="width" value="1050" />
<option name="height" value="730" />
</component>
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="galaxy_simulator" type="b2602c69:ProjectViewProjectNode" />
<item name="galaxy_simulator" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="43aff179-c306-46b9-b69f-eca5306fbf96" name="Default Changelist" comment="" />
<created>1559227081243</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1559227081243</updated>
<workItem from="1559227084365" duration="7898000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="7898000" />
</component>
<component name="ToolWindowManager">
<frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
<editor active="true" />
<layout>
<window_info id="Favorites" side_tool="true" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.24966443" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Database Changes" />
<window_info anchor="bottom" id="Version Control" />
<window_info anchor="bottom" id="Terminal" />
<window_info anchor="bottom" id="Event Log" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" />
<window_info anchor="bottom" id="Run" order="2" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="right" id="Database" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
</layout>
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/../C/Annuaire/Directory.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-969" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../C/Projet/joseph.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="561">
<caret line="33" column="7" selection-start-line="33" selection-start-column="7" selection-end-line="33" selection-end-column="35" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../C/Projet/makefile">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/makefile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Vector_Test.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17">
<caret line="1" column="17" selection-start-line="1" selection-start-column="17" selection-end-line="1" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Vector_Test.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="243">
<caret line="21" column="1" lean-forward="true" selection-start-line="5" selection-end-line="21" selection-end-column="1" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Vector.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="187">
<caret line="11" selection-start-line="11" selection-end-line="11" selection-end-column="54" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Vector.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="376">
<caret line="93" lean-forward="true" selection-start-line="93" selection-end-line="93" />
</state>
</provider>
</entry>
</component>
</project>
\ No newline at end of file
No preview for this file type
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include "Vector.h"
vec *new_vec(double x, double y){
//Allocation de la mémoire nécessaire
vec *new_vec = malloc(sizeof(vec));
//On vérifie que l'allocation est bien faite
if (new_vec == NULL){
exit(1);
}
//Attribution des valeurs x et y
new_vec->x = x;
new_vec->y = y;
return new_vec;
}
vec *add_vec(const vec *const v1, const vec *const v2){
vec *add_vec = new_vec(0.0,0.0);
add_vec->x = v1->x + v2->x;
add_vec->y = v1->y + v2->y;
return add_vec;
}
vec *sub_vec(const vec *const v1, const vec *const v2){
vec *sub_vec = new_vec(0.0,0.0);
sub_vec->x = v1->x - v2->x;
sub_vec->y = v1->y - v2->y;
return sub_vec;
}
int Test_new_vec(){
vec *vector = new_vec(2.0,3.1);
if(vector->x == 2.0 && vector->y == 3.1){
printf("Test_new_vec IS OK\n");
}
else{
printf("Test_new_vec has an ERROR\n");
}
free(vector);
}
int Test_add_vec(){
vec *v1 = new_vec(2.5,3.2);
vec *v2 = new_vec(4.6,1.5);
vec *v3 = add_vec(v1,v2);
if(v3->x == 7.1 && v3->y == 4.7){
printf("Test_add_vec IS OK\n");
}
else {
printf("Test_add_vec has an ERROR\n");
}
free(v1);
free(v2);
free(v3);
}
int Test_sub_vec(){
vec *v1 = new_vec(2.5,3.2);
vec *v2 = new_vec(4.6,1.5);
vec *v3 = sub_vec(v1,v2);
if(v3->x == (v1->x-v2->x) && v3->y == (v1->y-v2->y)){
printf("Test_sub_vec IS OK\n");
}
else {
printf("Test_sub_vec has an ERROR\n");
}
free(v1);
free(v2);
free(v3);
}
int main_tests(){
Test_new_vec();
Test_add_vec();
Test_sub_vec();
}
int main(int argc, char *argv[]){
if(argc == 2) {
if (strcmp(argv[1], "test") == 0) {
main_tests();
}
}
else{
printf("OK\n");
}
}
......@@ -2,23 +2,23 @@ typedef struct vec {
double x, y;
} vec;
//Créer et initialiser un vecteur:
//Créé et initialiser un vecteur:
vec *new_vec(double x, double y);
//Additionner deux vecteurs
//Additionne deux vecteurs
vec *add_vec(const vec *const v1, const vec *const v2);
//Soustraire deux vecteurs
//Soustrait deux vecteurs
vec *sub_vec(const vec *const v1, const vec *const v2);
//Multiplier un vecteur par un scalaire
//Multiplie un vecteur par un scalaire
vec *mul_vec(double alpha, const vec *const v2);
//Calculer la norme d’un vecteur
//Calcule la norme d’un vecteur
double norm(const vec *const v1);
//Calculer la distance entre deux vecteurs
//Calcule la distance entre deux vecteurs
double distance(const vec *const v1, const vec *const v2);
//Afficher un vecteur (ça vous aidera pour le débuggage)
//Affiche un vecteur
void print_vec(const vec *const v);
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment