Форум программистов, компьютерный форум CyberForum.ru

Не могу найти ошибку - C++

Восстановить пароль Регистрация
 
kkk008009kkk
46 / 46 / 1
Регистрация: 24.03.2011
Сообщений: 315
15.04.2012, 23:32     Не могу найти ошибку #1
Добрый день.

Есть код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
struct tbook {
  
  double x[3];
  double y;
  double c[4];
  double z1[3];
  double z2[3];
  double z3[3];
  }book;
  
 
 
int main()
 
{
  
  int i, n,j;
  double z[3];
  double Exp,pi,y,sy,f1;    
  FILE *f;
  f = fopen ( "books.dat", "rb" );
  n=fread(&book,sizeof(struct tbook), 1, f);
  fclose(f);
  y=book.y;
  Exp=2.7182818284;
  pi=3.1415926535;
  for (i=0; i=3; i++)
      z[i]=((book.z1[i]+book.z2[i]/60+book.z3[i]/3600)*pi/180);
 sy=book.c[0]+book.c[1]*y*y+book.c[2]*y*y*y+book.c[3]*y*y*y*y+book.c[4]*y*y*y*y*y;
  for (i=0; i=3; i++)
for(j=0;j=3;j++){
f1 = (sy + (sin(z[j]))/(cos(z[j])))*(sqrt(sin(book.x[i]))+pow(Exp,(sin(z[j]))/(cos(z[j]))));
printf("%f",book.x[i],"   %f",y,"  %f",z[j],"   %f",f1," \n");
}
 
 
 getch();
  return 0;
}
Компилируется, но программа не выполняется. Объясните, где ошибка, пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
15.04.2012, 23:45     Не могу найти ошибку #2
во всех циклах поменяйте условие на < 3 иначе за границу массива выскачите.
а вообще что пограмма должна делать? что именно она не выполняет?
kkk008009kkk
46 / 46 / 1
Регистрация: 24.03.2011
Сообщений: 315
16.04.2012, 00:10  [ТС]     Не могу найти ошибку #3
antoha398, Теперь выводится, но вывод не форматируется: все залипло друг к другу. Нет пробелов и переноса строки

Добавлено через 13 минут
Все сделал, но есть еще одна ошибка: выводится только book.x[i]
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
16.04.2012, 00:29     Не могу найти ошибку #4
а если так
C
1
printf("%f   %f   %f   %f\n", book.x[i], y, ...);
kkk008009kkk
46 / 46 / 1
Регистрация: 24.03.2011
Сообщений: 315
16.04.2012, 00:45  [ТС]     Не могу найти ошибку #5
antoha398, Да, так работает.
antoha398
16.04.2012, 00:50     Не могу найти ошибку
  #6

Не по теме:

не за что

Yandex
Объявления
16.04.2012, 00:50     Не могу найти ошибку
Ответ Создать тему
Опции темы

Текущее время: 12:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru