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

Считывать значения в матрицы и вектора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вектор. Составить программу изминения нулей в векторе http://www.cyberforum.ru/cpp-beginners/thread30736.html
Вектор. Составить программу изминения нулей в векторе на полсумму предыдущего и следующего елементов. На место первого и последнего нуля поставить следущее и предедущее число. Добавлено через 9 часов 5 минут 33 секунды ап!!!хелп :(
C++ Подсчитать сумму натуральных чисел Подсчитать сумму натуральных чисел, в интервале , в которых парные и непарные цифры чередуються. http://www.cyberforum.ru/cpp-beginners/thread30733.html
C++ Debug Assertion Failed
во время работы программы вылазиет вот такая ошибка что это такое и как с этим бороться? подскажите пожалста!
C++ Cоздание дерева выражения
Есть таблица лексемм:p: ... struct Lexem { char type; char name; int pos; int prior; };
C++ Вызовы функций с помощью указателей http://www.cyberforum.ru/cpp-beginners/thread30358.html
Составить программу которая использует вызовы функций с помощью указателей ------------------------ первая функция double (*func1) (float *, int) ------------------------ ------------------------ вторая функция
C++ Ошибка при компиляции Я начинающий при компиляции в DEV-C++ выдаёт Compiler: Default compiler Building Makefile: "C:\Dev-Cpp\Makefile.win" Executing make... make.exe -f "C:\Dev-Cpp\Makefile.win" all make.exe: *** No rule to make target `all'. Stop. Execution terminated не создаёт ехе фаил как исправить?????? подробнее

Показать сообщение отдельно
ciao
0 / 0 / 0
Регистрация: 25.12.2008
Сообщений: 28
20.04.2009, 12:48     Считывать значения в матрицы и вектора
Помогите пожалуйста разобраться. Эта прога должна считивать значения в матритцы и вектора. Как ей объяснить разнитцу между матрицей GHSERp и TC . Она считивает только GHSERp, а вторую TC считивать не хочет
Код
int Gibbs::calc_spaces(char *str) //Schitaet kol-vo probelov v strochke, otekaya nenujnie

{

  char *tmp;

  int ans = 0;

  bool sp = false;

  while (*str == ' ')

    ++str;

  for (tmp = str; *tmp; ++tmp)

  {

    if (isdigit(*tmp) && sp)

    {

      ++ans;

      sp = false;

    }

    if (*tmp == ' ')

      sp = true;

  }

  return ans;

}
Код
  int nm; //nomer matrici, kotoruu zapolnnyaem

  fp=fopen(datafile,"rt");

  char str[256];

  nm = 0;

  bool wasNumbers = false;

  while (!feof(fp))

  {

    str[0] = 0;

    char *tmp = fgets(str, sizeof(str), fp);

    if (!tmp || str[0] == 0) //Esli nichego ne schitali

      break; //Vihodim


    if (str[0] == '/') //Kommentariy

    {

      if (wasNumbers)//Esli mi schtali chisla iz matrici

      {

        wasNumbers = false;

        ++nm; //Znachit ko vtoroy perehodim

      }

      continue;

    }
   int sp = calc_spaces(str); //Schitaem kol-vo probelov

   if (sp == 4) nm = 4;
   if (sp == 6 && nm == 4) nm = 5;
   if (sp == 7) nm = 7;
//   if (sp == 4 && nm == 4) nm = 8;

    if (nm == 0)

    {

      int i ;

      double v = 0.;

      sscanf(str, "%d %lf", &i, &v);

      y1[i] = v;
      wasNumbers = true;

    }

    if (nm == 1)

    {

      int i ;

      double v = 0.;

      sscanf(str, "%d %lf", &i, &v);

      y2[i] = v;

      wasNumbers = true;

    }

    if (nm == 2)

    {

      int i ;

      double v = 0.;

      sscanf(str, "%d %lf", &i, &v);

      m[i] = v;

      wasNumbers = true;

    }
   if (nm == 3)
    {
    nm = 4;
    char *tmp = str;
    for (int i = 0; i<=sp; i++){
    double a = 0.;
    sscanf(tmp,"%lf",&a);
    Tr(i) = a;
    tmp = strchr(tmp, ' ');
    if(!tmp)
    break;
    ++tmp;
    wasNumbers = true;
    }
    continue;
    }
  if (nm == 4)
    {
      int t , i , j , l ;

      double v = 0.;

      sscanf(str, "%d %d %d %d %lf", &t, &i, &j, &l, &v);

      GHSERp(t,i,j,l) = v;
      wasNumbers = true;
    }
  if (nm == 5)
   {
      int t , i, j, k, l, m;

      double v = 0.;

      sscanf(str, "%d %d %d %d %d %d %lf", &t, &i, &j, &k, &l, &m, &v);

      L1ini(t,i,j,k,l,m) = v;
      wasNumbers = true;
   }
  if (nm == 6)
   {
      int t, i, j, k, l, m;

      double v = 0.;

      sscanf(str, "%d %d %d %d %d %d %lf", &t, &i, &j, &k, &l, &m, &v);

      L2ini(t,i,j,k,l,m) = v;
      wasNumbers = true;
   }
  if (nm == 7)
   {  
      nm = 8;
      int t, i, j, k, l, m, n;

      double v = 0.;

      sscanf(str, "%d %d %d %d %d %d %d %lf", &t, &i, &j, &k, &l, &m, &n, &v);

      L0ini(t,i,j,k,l,m,n) = v;
      wasNumbers = true;
   }
  if (nm == 8)
  {
      int t , i , j , l ;

      double v = 0.;

      sscanf(str, "%d %d %d %d %lf", &t, &i, &j, &l, &v);

      TC(t,i,j,l) = v;
      wasNumbers = true;
  } 
 }
fclose(fp);
Вложения
Тип файла: txt ferrite.txt (12.1 Кб, 12 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru