[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. M@verick

    M@verick New Member

    Joined:
    17 Apr 2008
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    помогите!
    программа по сортировке массива в памяти и записи его в файл... не могу найти ошибку

    Code:
    #include <iostream.h>
    #include <math.h>
    #include <stdio.h>
    #include <iomanip.h>
    #include <stdlib.h>
    #include <conio.h>
    #define m(j,jj,n) m[j*n+jj]
    void sort(float*,int);
    void mp(float*,int);
    main()
    {
    	int n,N,i,ii;
       float *mas;
       printf("\n in n");
       scanf("%d",&n);
       N=pow(n,2);
       mas=(float*)malloc(N*sizeof(float));
       for(i=0;i<n;i++)
       for(ii=0;ii<n;ii++)
       	{
       		printf("\n input element [%d][%d]=",i,ii);
       		scanf("%f",(mas+i*n)+ii);
       	}
       void sort(float *m,int N)
          {
          	float tmp;
             int j,jj;
             for (j=0;j<N-1;j++)
             for (jj=0;jj<(/N-1)-j;jj++)
             if(m[jj]>m[jj+1])
             	{
                	tmp=m[jj];
                   m[jj]=m[jj+1];
                   m[jj+1]=tmp;
                }
          }
       void mp(float *m,int n)
       	{
          	FILE *out;
             int j,jj;
             char *fname="I:\zzz\tout.txt";
             out = fopen(fname,"w");
             for (j=0;j<n;j++)
             	{
                	for(jj=0;jj<n;jj++)
                   fprintf(out,"%6.2f",m(j,jj,n));
                }
          }
       fclose(out);
    }
     
    #1081 M@verick, 6 May 2008
    Last edited by a moderator: 7 May 2008
  2. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    Код сначала нормально оформи. =)
    Наводка: выражение "2 + 2" наш мозг воспринимает как "2 плюс 2", стало быть "2+2" воспринимается как "2плюс2".
     
  3. M@verick

    M@verick New Member

    Joined:
    17 Apr 2008
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    а можно ясней излогать?
     
  4. criz

    criz Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Уж0с-то какой!
    можно. Для начала нужно оформить код и объяснить в чем проблема ;)

    Code:
    #include <iostream.h>
    #include <math.h>
    #include <stdio.h>
    #include <iomanip.h>
    #include <stdlib.h>
    #include <conio.h>
    #define m(j,jj,n) m[j*n+jj]
    void sort(float*,int);
    void mp(float*,int);
    main()
    {
    	int n,N,i,ii;
    	float *mas;
    	
    	printf("\n in n");
    	scanf("%d",&n);
    	N=pow(n,2);
    	mas=(float*)malloc(N*sizeof(float));
    	for(i=0;i<n;i++)
    	for(ii=0;ii<n;ii++)
    	{
    		printf("\n input element [%d][%d]=",i,ii);
    		scanf("%f",(mas+i*n)+ii);
    	}
    }
    
    void sort(float *m,int N)
    {
    	float tmp;
    	int j,jj;
    	for (j=0;j<N-1;j++)
    	        for (jj=0;jj<[COLOR=DarkRed](/N-1)[/COLOR]-j;jj++)
            	if(m[jj]>m[jj+1])
    	        {
    		        tmp=m[jj];
            		m[jj]=m[jj+1];
    	        	m[jj+1]=tmp;
            	}
    }
    
    void mp(float *m,int n)
    {
    	FILE *out;
    	int j,jj;
    	char *fname="I:\zzz\tout.txt";
    	out = fopen(fname,"w");
    	for (j=0;j<n;j++)
    	{
    	for(jj=0;jj<n;jj++)
    		fprintf(out,"%6.2f",m(j,jj,n));
    	}
    		fclose(out);
    }
    
    З.Ы. проверял без компилятора... Нет вызовов функций сортировки и записи в файл.
    З.З.Ы. обратите внимание на выделение ;)
     
  5. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Помогите пожалуйста мне в этой теме,,,всё что там написано я перепробовал, не помогает :(
     
  6. ForNeVeR

    ForNeVeR Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    geforse, тебе уже в той теме всё сказали. У твоей проблемы 2 решения:
    1. Либо в начале программы (после #include) прописать using namespace std;
    2. Либо вместо cin и cout использовать соответственно std::cin и std::cout.
    Знающие люди считают второй вариант более предпочтительным при написании новых программ; первый же поможет уменьшить объём работ при конвертации существующих программ из "старого" стандарта в "новый".
     
  7. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    PHP:
    #include <iostream.h>
     #include <stdafx.h>


    int main()
    {
        
    std::cout "\n";
        
        return 
    0;
    }
    Ошибки:

    PHP:
    error C2653'std' is not a class or namespace name
     error C2065
    'cout' undeclared identifier 
     error C2143
    syntax error missing ';' before 'string'

    При добавлении в начало using namespace std; ни чего не меняется :(
     
  8. criz

    criz Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    geforse, либо так:
    Code:
    #include <iostream>
    using namespace std;
    
    int main()
    {
        cout << "It works!";
        return 0;
    }  
    
    либо так:
    Code:
    #include <iostream>
    
    int main()
    {
        std::cout << "It works!";
        return 0;
    }  
    
     
    #1088 criz, 7 May 2008
    Last edited: 7 May 2008
  9. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    1. It workS

    2.
     
  10. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    [​IMG]

    PHP:
    fatal error C1010unexpected end of file while looking for precompiled headerDid you forget to add '#include "stdafx.h"' to your source?

    [​IMG]

    PHP:
    fatal error C1010unexpected end of file while looking for precompiled headerDid you forget to add '#include "stdafx.h"' to your source?
    [​IMG]


    PHP:
    error C2653'std' is not a class or namespace name
     error C2065
    'cout' undeclared identifier
    [​IMG]

    PHP:
    error C2871'std' namespace with this name does not exist
     error C2653
    'std' is not a class or namespace name
     error C2065
    'cout' undeclared identifier


    Думаю так более понятна моя проблема :(
     
  11. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    #include <iostream.h>
     
  12. zythar

    zythar Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    делай так:
    Code:
    /*file hello.c */
    
    #include <stdio.h>
    
    int main(int argc, char *argv[])
    {
    printf("Hello, world!\n");
    return 0;
    }
    
    или так:
    Code:
    #include <unistd.h>
    
    int main(int argc, char *argv[])
    {
    write(1, "h3110", 5);
    return 0;
    }
    
     
  13. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    [​IMG]

    Работает, но вовсех учебниках по C++ используется cout и cin :(
     
  14. zythar

    zythar Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    а кто сказал что это C++?
    это чистый C (*

    тока я вот одного не пойму. почему этот паразитный инклюд везде сует свой нос? (stdafx.h)
     
  15. ForNeVeR

    ForNeVeR Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    Это как-то связано с испоьзованием precompiled headers (какая-то фишка, которая должна по идее сокращать время компиляции программы, использующей много редко изменяющихся хедеров - компилим их один раз и потом юзим). Однако на практике она многим не нужна и вызывает глюки типа невозможности скомпилировать код.
     
  16. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Без него ни чего не работает....
     
  17. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    zythar, это C, ему на C++ надо было вроде же.

    Все без него работает. Отключить precompiled headers в опциях проекта.
     
  18. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Отключил, вот написал:

    [​IMG]

    PHP:
    fatal error C1083Cannot open include file'iostream.h'No such file or directory
    Тоесть нету этого файла ?
     
  19. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Блять..................
    Смотри мой предпоследний пост!!!

    И убери нах stdafx.h, вот объясни, нахрен ты его вписал?
     
  20. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    [​IMG]

    PHP:
    fatal error C1083Cannot open include file'iostream.h'No such file or directory
     
Thread Status:
Not open for further replies.