Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод значений в файл! 
V
    Опции темы
mgkit
Дата 8.6.2009, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 15.4.2009

Репутация: нет
Всего: нет



Я об этом уже писал в теме http://forum.vingrad.ru/forum/topic-261690.html, но там мне на протяжении долгого времени, ни кто не ответил. Вот создал отдельную тему, т.к. с другой программой проблемы те же.
Код

#include <iostream.h>
#include <conio.h>

#pragma hdrstop

void entermatr(float **a,int n,int k)
{
printf("\n----------------------------------------------\n\n");
for(int i=0; i<n; i++)
 for(int j=0; j<k; j++)
  {
    printf("Please, enter %i massive element\n",i);
    cin>>a[i][j];
  }
  return;
}

void rentermatr(float **a,int n,int k)
{
 int i,j;
 printf("\n----------------------------------------------\n\n");
 randomize;
 for(int i=0; i<n; i++)
  for(int j=0; j<k; j++)
     a[i][j]=random(100);
 return;
}

void fentermatr(float **a,int n,int k)
{
  int i,j;
  char put[255];
  printf("\n----------------------------------------------\n\n");
  cout<<"Please, enter name file: ";
  cin>>put;
  FILE *f=fopen(put, "rb+");
   for(int i=0; i<n; i++)
    for(int j=0; j<k; j++)
     {
      fscanf(f,"%s",&put);
      a[i][j]=atof(put);
     }
  fclose(f);
 return;
}

int seshion1(float **a,int n,int k)
{
 int i,j,q=0;
 bool b;
  for(int i=0; i<n; i++)
   {
    b=true;
    j=0;
    while ((b=true)&&(j<(k-1)))
     {
      if (a[i][j+1] != 0)
       if ((a[i][j]/a[i][j+1])<0)
        b=false;
      j++;
     }
    if (b=true)
     q++;
   }
 return(q);
}

void seshion2(float **a,float *p,int n,int k)
{
 int i,j,l=0,q=0;
 bool b;
  for(int i=0; i<n; i++)
   {
    b=true;
    j=0;
    while ((b=true)&&(j<(k-1)))
     {
      if (a[i][j+1] != 0)
       if ((a[i][j]/a[i][j+1])<0)
        b=false;
      j++;
     }
    if (b=true)
     {
      *(p+l)=i;
      l++;
     }
   }
 return;
}

void fexitmatr(int q, float *p)
{
  int i;
  char put[255];
  printf("\n----------------------------------------------\n\n");
   for (i=0; i<q; i++)
    cout<<*(p+i)<<" "<<endl;
  cout<<"Number  of string of mas = "<<q<<endl;
  cout<<"Please, enter name file: ";
  cin>>put;
  FILE *f=fopen(put, "ab+");
  fprintf(f,"\nNumber string of mas:\n");
   for (i=0; i<q; i++)
    fprintf(f," %f ",&(*(p+i)));
  fprintf(f,"\nNumber  of string of mas = %i\n",&q);
  fclose(f);
 return;
}

main()
{
        int c=1,n,k,q,i,j;
        printf("Please, enter quantity elements of mas\n");
        cin>>n>>k;

        float **a = new float *[n];
         for (i=0; i<n; i++)
          a[i] = new float [k];

        float *p = new float [n];

        while ( c!= '0')
        {
          cout<<"----------------------------------------------"<<endl;
          cout<<"Choose number and press"<<endl;
          cout<<"1 - write matr"<<endl;
          cout<<"2 - work with matr"<<endl;
          cout<<"3 - result"<<endl;
          cout<<"0 - exit"<<endl;
         switch ( c = getch() ) {
            case '1' :
              {
            while ( c!= '0')
        {
          cout<<"----------------------------------------------"<<endl;
          cout<<"Choose number and press"<<endl;
          cout<<"1 - someself"<<endl;
          cout<<"2 - random"<<endl;
          cout<<"3 - file"<<endl;
          cout<<"0 - exit"<<endl;
            switch ( c = getch() ) {

                 case '1' :
                     entermatr(a,n,k);
                     break;
                 case '2' :
                     rentermatr(a,n,k);
                     break;
                 case '3' :
                    {
                     fentermatr(a,n,k);
                     break;
                    }
                 default:
                     cout<<"Please, write new symbol! "<<endl;
                     break;
                }
               }
                c=1;
                for (i=0; i<n; i++)
                 {
                  for (j=0; j<k; j++)
                   cout<<a[i][j]<<" ";
                  cout<<endl;
                 }
                break;
              }
            case '2' :
              {
                q=seshion1(a,n,k);
                seshion2(a,p,n,k);
                break;
              }
            case '3' :
              {
                fexitmatr(q, p);
                break;
              }
            default:
                cout<<"Please, write new simbol! "<<endl;
                break;
        }
    }

    free(a);
    free(p);
}

Выводит в файл совсем не q и элементы массива p. Не знаю в чём проблема, ведь ввод нормальный! Подскажите пожалуйста!

Это сообщение отредактировал(а) mgkit - 8.6.2009, 23:58
PM MAIL   Вверх
Dmi3ev
Дата 9.6.2009, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

    fprintf(f," %f ",&(*(p+i)));
  fprintf(f,"\nNumber  of string of mas = %i\n",&q);

ну хз, наверное, потому что прокладку между компом и монитором поменять надо...
вот так попробуй:
Код

    fprintf(f," %f ",*(p+i));
  fprintf(f,"\nNumber  of string of mas = %i\n",q);


Добавлено @ 00:07
и код форматировать учись, а то читать невозможно... глаза сломал...

Добавлено @ 00:08
Цитата

  printf("\n----------------------------------------------\n\n");
  cout<<"Please, enter name file: ";
  cin>>put;

и вот эта мешанина вместе не очень смотрится, ты уж определись...

Добавлено @ 00:10
Цитата

#pragma hdrstop

добавь еще
Код

#pragma argsused

для прикола...
зачем ты все подряд лепишь?

Это сообщение отредактировал(а) Dmi3ev - 9.6.2009, 01:09


--------------------

PM MAIL   Вверх
mgkit
Дата 9.6.2009, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 15.4.2009

Репутация: нет
Всего: нет



Цитата

зачем ты все подряд лепишь? 

Ну меня пока не сильно это волнует, компилятор поставил, я и не стрирал. Это же не модуль, который жрёт RAM... 
Цитата

и вот эта мешанина вместе не очень смотрится, ты уж определись...

Знаю =) Привычней так, уже начал делать по другому, всё с С++
Dmi3ev
Спс большое за помощ =)) У меня всё работает =))

PM MAIL   Вверх
Dmi3ev
Дата 9.6.2009, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

Спс большое за помощ =)) У меня всё работает =)) 

ну и отлично! пожалуйста!
а код форматировать учись, пока не поздно...

Добавлено через 2 минуты и 10 секунд
и еще
Цитата

main()

так не очень хорошо писать
лучше
Код

int main()

и в конце этой функции добавить
Код

return 0;

так будет правильно...


--------------------

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0486 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.