Kezdőoldal » Számítástechnika » Programozás » Valaki elmagyarázná, hogy...

Valaki elmagyarázná, hogy miért nem működik ez a program?

Figyelt kérdés

#include "stdafx.h"

#include <conio.h>

#include <string.h>

#include <iostream>

#include <stdlib.h>

#include <math.h>

using namespace std;


FILE * f;


#define STRHOSSZ '255'

#define pvesszo ';'

#define elv ','



int tagszam(char *s){//végig kell!sor végére nem kerülhet vessző!

char *s2=(char*)malloc(STRHOSSZ);

strcpy(s2,s);

int dbszam=0;

char *vesszo=strchr(s2,pvesszo);

if(vesszo==0){

return 1;}

else{

while(vesszo!=NULL){

dbszam++;

strcpy(vesszo,vesszo+1);

vesszo=strchr(s2,pvesszo);}}

dbszam++;

return dbszam;}



float * szetszed(char *s, int tagszam){

char * pont=(char *)malloc(STRHOSSZ);

pont=".";

float *tomb=(float*)malloc(tagszam*sizeof(float));

char *szam=(char*)malloc(STRHOSSZ);

char *vesszo=strchr(s,pvesszo);

char *vesszoutani=(char*)malloc(STRHOSSZ);

char * ujszam=(char *)malloc(STRHOSSZ);

for(int i=0; i<tagszam-1; i++){

strncpy(szam,s,vesszo-s);

char *cserepointer=strchr(szam,elv);

if(cserepointer!=NULL){

memset(ujszam,0,STRHOSSZ);

strncpy(ujszam,szam,cserepointer-szam);

strcpy(vesszoutani,cserepointer+1);

strcat(ujszam,pont);

strcat(ujszam,vesszoutani);

memset(vesszoutani,0,STRHOSSZ);

cserepointer=strchr(szam,elv);}

tomb[i]=atof(ujszam);

memset(ujszam,0,STRHOSSZ);

memset(szam,0,STRHOSSZ);

strcpy(s,vesszo+1);

vesszo=strchr(s,pvesszo);}

char *cserepointer=strchr(s,elv);

memset(ujszam,0,STRHOSSZ);

strncpy(ujszam,s,cserepointer-s);

strcpy(vesszoutani,cserepointer+1);

strcat(ujszam,pont);

strcat(ujszam,vesszoutani);

memset(vesszoutani,0,STRHOSSZ);

cserepointer=strchr(szam,elv);

tomb[tagszam-1]=atof(ujszam);

return tomb;

}


int _tmain(int argc, _TCHAR* argv[])

{

char *s=(char*)malloc(STRHOSSZ);

char *s2=(char*)malloc(STRHOSSZ);

int tagokszama=100;

float *x=(float*)malloc(tagokszama*sizeof(float));

float *y=(float*)malloc(tagokszama*sizeof(float));

float integrál=0;

int xhelyekdb=0;

f=fopen("függvénytáblázat.csv","r");

if(!f){cout<<"The file isnt founded!"; getch(); return -1;}

while(!feof(f)){

memset(s,0,STRHOSSZ);

memset(s2,0,STRHOSSZ);

if(fgets(s,STRHOSSZ,f)){

if(fgets(s2,STRHOSSZ,f)){

xhelyekdb=tagszam(s);

for(int i=0;i<=100;i++){

x[i]=1;y[i]=1;}

x=szetszed(s,xhelyekdb);

y=szetszed(s2,xhelyekdb);

for(int i=0;i<(xhelyekdb-1);i++){

integrál+=(x[i+1]-x[i])*(y[i+1]+y[i])/2;}}}};

cout<<"A fuggveny alatti becsult terulet: "<<integrál<<endl;

getch();

return 0;

}



Kell neki egy csv file amiben sorba vannak a számok felül az x, alúl pedig az f(x) értékek


a program a szetszed függvénynél az strncpy(ujszam,s,cserepointer-s); sornál akad ki

válaszokat köszönöm!


2013. ápr. 9. 18:13
 1/2 anonim ***** válasza:
Próbáld kicsit szakszerűbben. Mi az a kiakad? Azt írja ki, hogy Program kiakadt error? Vagy valami mást?
2013. ápr. 9. 21:59
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:
unhandled exceptiont kapok, amikor az utolsó eleménél jár a sornak a szetszed függvény
2013. ápr. 10. 07:52

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!