Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C (СИ) Функция считывания из текстового файла Здравствуйте, написал функцию, работает некорректно, может слишком долго работаю, но не вижу в чем проблема. Заранее спасибо за помощь. Вот код: int LoadTextFile(char * data, char const * const filename){ long size; FILE* file; /* File opening */ file = fopen(filename, "r"); if(NULL == file) return FILE_OPEN_ERROR; https://www.cyberforum.ru/ c-beginners/ thread610494.html Подсчитать сумму столбцов матрицы и выяснить, есть ли среди них столбцы с одинаковой суммой C (СИ)
Добрый вечер форумчани! Нужно перевести программу с языка С++ на С. Программа должна подсчитать сумму столбцов и выяснить, есть ли среди них с одинаковой суммой и если есть, то вывести их номера. #include <iostream> #include <algorithm> #include <iterator> #include <random>
C (СИ) Напечатать все символы между первой и второй точками Даны натуральное число n и символы S1 и Sn,среди которых есть точка. Напечатать все символы между первой и второй точками.Если второй точки нет, то получить все символы, расположенные после единственной точки. https://www.cyberforum.ru/ c-beginners/ thread610264.html C (СИ) Функция log Из math.h помогите найти исходник функции log из math.h. Пытался открыть заголовочный файл, а там рекурсия... Записано что-то типа: long double log10(long double x){ return log10(x);} И троллфейса не хватает в конце https://www.cyberforum.ru/ c-beginners/ thread610232.html
Как подключить функцию с одного файла в другом файле? C (СИ)
собственно вот вопрос. есть один файл. там функция zz(); которую надо запустить в другом файле. желательно просто "вставить" эту функцию, чтобы инклюды не прописывать в файле с функцией zz(); если это возможно, покажите, пожалуйста, как?)) функция void zz(void) { //... }
C (СИ) Переделать задачу с С++ на С https://www.cyberforum.ru/ c-beginners/ thread610057.html
Условие: Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент среди стоящих на главной и побочной диагоналях и поменять его местами с элементом, стоящим на пересечении этих диагоналей #include <iostream> #include <iomanip> const int N = 5; void get_random( int **a ) {
C (СИ) Отсортировать цифры, символы и буквы в отдельные строки Дана строка, содержащая цифры, символы и буквы. Отсортировать их в отдельные строки. https://www.cyberforum.ru/ c-beginners/ thread610048.html Нужна бесплатная программа для создания блок-схем C (СИ)
Сдесь ошибка и как ее исправить не знаю. Как и чем перевести С++ В Си Что рисует блок схемы по коду какая программа. Искал в гугле, там платные, деньги есть, нет поддержки сервисов оплаты у програм.#include <stdafx.h> #include <iostream.h> #include <math.h> #include <windows.h> char buf; char *rus(char *s) {
C (СИ) Задачи по Си и переделать С++ на СИ Народ помоги плиз Ломаю голову уже не одну неделю а скоро контрольные сдавать !!! И какой прогой можно нарисовать блок схему!! Одна тема - один вопрос. Код копируем на форум. Эта тема закрыта. https://www.cyberforum.ru/ c-beginners/ thread609984.html C (СИ) Перевести код с C++ Помогите переделать программу с языка си++ на язык си))буду очень благодарен #include <iostream> using namespace std; int main() { int N; cin >> N; https://www.cyberforum.ru/ c-beginners/ thread609932.html
Нахождение в файле слов с длиной K символов C (СИ)
программа : Написать программу нахождения в строковом файле слов с длиной K символов и переписать в другой файл все слова длины K из исходного файла. Словом считать набор символов, не содержащий пробелов, знаков препинания и ограниченный пробелами, знаками препинания или началом/концом строки. Если исходный файл не содержит слов длины K, то оставить результирующий файл пустым код : ...
C (СИ) FIFO https://www.cyberforum.ru/ c-beginners/ thread609557.html
надо реализовать класс FIFO (добавление,считивание елементов)
36 / 29 / 2
Регистрация: 01.08.2011
Сообщений: 176
21.06.2012, 12:34  [ТС] 0

Динамическая память. Ошибка С2143 пишет отсутствие ";" перед "тип" (Visual Studio 2010) - C (СИ) - Ответ 3191811

21.06.2012, 12:34. Показов 3404. Ответов 8
Метки (Все метки)

Ответ

Нет, не помогает. И если добавить к коду строку int* rowX=*x; вот так:
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
#include <stdio.h>
#include <stdlib.h>
 
#define n   ( 4 )
 
void set_mem( int **x ) {
 
    *x = malloc( sizeof( int ) * n );
    int* rowX=*x;//Строка с ошибкой
}
 
int main () {
 
    int *x;
    unsigned short i = n;
 
    set_mem( &x );
 
    while ( i-- ) {
        x[ i ] = i;
        printf( "%3d", x[ i ] );
    }
 
    free( x );
    return 0;
}
, то Ваш код тоже не компилится

Добавлено через 1 минуту
И stdlib.h не помогает

Добавлено через 16 минут
Вот так вроде компилится:
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
44
45
46
47
48
49
50
51
52
53
54
55
#include <stdio.h>
#include <stdlib.h>
#include "filesIO.h"
 
int readIn(char* inNm, float** X, int* N, int* M)
{
    FILE* FL=fopen(inNm,"r");
    if(FL)
    {
        if (fscanf(FL,"#begin file\n")==EOF)
        {
            fclose(FL);
            return 1;
        }
        else
        {
            if (fscanf(FL,"N=%u;\n",N)==EOF)
            {
                fclose(FL);
                return 1;
            }
            else
            {
                if (fscanf(FL,"M=%u;\n",M)==EOF)
                {
                    fclose(FL);
                    return 1;
                } 
                else
                {                   
                    if (fscanf(FL,"x[i]:\n")==EOF)
                    {
                        fclose(FL);
                        return 1;
                    } 
                    else
                    {   
                        float* rowX=malloc(sizeof(float)*(*N-1));
                        *X=rowX;                        
                        /*
                        for (int xCnt=0; xCnt<=*N-1; xCnt++)
                        {
 
                        }
                        */
                    }
                }
            }
        }
    }
    else
    {
        return 1;
    }
}
Но почему не компилился первый вариант, я так и не понял. Только поменял строчки местами, и всё...

Добавлено через 2 минуты
Хотя наверно лучше всё-таки писать float* rowX=(float*)malloc(...) для совместимости с C++

Добавлено через 13 минут
Но когда я продолжил код, начав работать с rowX, снова компилятор стал выёживаться:
C
1
2
3
4
5
6
7
8
9
10
11
                        float* rowX=(float*)malloc(sizeof(float)*(*N-1));
                        *X=rowX;                        
                        for (int xCnt=0; xCnt<=*N-1; xCnt++)
                        {                           
                            if(fscanf(FL,"%f;\n",rowX)==EOF)
                            {
                                fclose(FL);
                                return 1;
                            }                           
                            rowX++;
                        }
Ошибка 6 error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" d:\documents\¦ store\programming\visual studio 2010\vases\vases\filesio.c 40 1 Vases
Ошибка 7 error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" d:\documents\¦ store\programming\visual studio 2010\vases\vases\filesio.c 40 1 Vases
Ошибка 8 error C2143: синтаксическая ошибка: отсутствие ")" перед "тип" d:\documents\¦ store\programming\visual studio 2010\vases\vases\filesio.c 40 1 Vases
Ошибка 9 error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" d:\documents\¦ store\programming\visual studio 2010\vases\vases\filesio.c 40 1 Vases
Ошибка 10 error C2065: xCnt: необъявленный идентификатор d:\documents\¦ store\programming\visual studio 2010\vases\vases\filesio.c 40 1 Vases
Ошибка 12 error C2065: xCnt: необъявленный идентификатор d:\documents\¦ store\programming\visual studio 2010\vases\vases\filesio.c 40 1 Vases
Ошибка 13 error C2059: синтаксическая ошибка: ) d:\documents\¦ store\programming\visual studio 2010\vases\vases\filesio.c 40 1 Vases
Ошибка 14 error C2143: синтаксическая ошибка: отсутствие ";" перед "{" d:\documents\¦ store\programming\visual studio 2010\vases\vases\filesio.c 41 1 Vases

Добавлено через 11 минут
Даже такой код не компилится
C
1
2
3
4
5
6
7
8
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    printf("Hello, world!\n");
    float* x=(float*)malloc(8);
}
Ошибка 1 error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" d:\documents\¦ store\programming\visual studio 2010\vases\vases\main.c 7 1 Vases

Добавлено через 1 час 13 минут
Вот, нашёл в MSDN решение проблемы. Оказывается, микрософтовские разработчики решили спародировать Delphi, цитата:
В программе C переменные необходимо объявлять в начале функции; после того, как функция выполняет не связанные с объявлением инструкции, объявлять переменные нельзя.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
// C2143j.c
 
int main() 
 
{
 
 int i = 0;
 
 i++;
 
 int j = 0; // C2143
 
}
Вот с учётом этого я переписал код так:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <stdio.h>
#include <stdlib.h>
#include "filesIO.h"
 
int readIn(char* inNm, float** X, int* N, int* M)
{
    FILE* FL=fopen(inNm,"r");
    if(FL)
    {
        if (fscanf(FL,"#begin file\n")==EOF)
        {
            fclose(FL);
            return 1;
        }
        else
        {
            if (fscanf(FL,"N=%u;\n",N)==EOF)
            {
                fclose(FL);
                return 1;
            }
            else
            {
                if (fscanf(FL,"M=%u;\n",M)==EOF)
                {
                    fclose(FL);
                    return 1;
                } 
                else
                {
                        
                    if (fscanf(FL,"x[i]:\n")==EOF)
                    {
                        fclose(FL);
                        return 1;
                    } 
                    else
                    {
                        float* rowX;
                        int xCnt;
                        *X=(float*)malloc(sizeof(float)*(*N-1));                        
                        rowX=*X;                        
                        for (xCnt=0; xCnt<=*N-1; xCnt++)
                        {
                            if(fscanf(FL,"%f;\n",rowX)==EOF)
                            {
                                fclose(FL);
                                free(*X);
                                return 1;
                            }
                            rowX++;
                        }
                        fclose(FL);
                        return 0;
                    }
                }
            }
        }
    }
    else
    {
        return 1;
    }
}
И если переменную цикла объявлять прямо в цикле или присваивать значение rowX после начала других операций, даже не связанных с этой, он будет ругаться. Да, неисповедимы пути микрософта по втыканию палок в колёса труда программистов...

Добавлено через 6 минут
http://msdn.microsoft.com/ru-r... .100).aspx

Вернуться к обсуждению:
Динамическая память. Ошибка С2143 пишет отсутствие ";" перед "тип" (Visual Studio 2010) C (СИ)
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2012, 12:34
Готовые ответы и решения:

Кто пишет программы в Visual Studio 2010 на Visual Basic?
Кто пишет программы в Visual Studio 2010 на Visual Basic?

Какой тип проекта выбрать в visual studio 2010?
Привет всем. Собираюсь учить Viisual C++, но немного потерялся в типах проекта. Там MFC, ATL, CLR,...

Ошибка в visual studio 2010
как исправить эту ошибку ?

Ошибка в Visual Studio 2010
Здравствуйте, буду признателен, если поможете разобраться) Установил вот Visual Studio 2010, решил...

8
21.06.2012, 12:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2012, 12:34
Помогаю со студенческими работами здесь

Ошибка в visual studio 2010
что делать? Windjws 7 x 32 запускать от админа пробывал!

Ошибка в Visual Studio 2010
Помогите исправить ошибку в MVS 2010.При создании проекта высвечивается ошибка,показанная на...

Ошибка в visual studio 2010 c++
Доброго времени суток, друзья! У меня такая проблема, что при запуске программы vs10 выдает...

Чем отличается Microsoft Visual C++ 2010 Express от Visual Studio 2010 Ultimate
Подскажите пожалуйста, в чем разница Microsoft Visual C++ 2010 Express от Visual Studio 2010...

Ошибка интеграции Qt в Visual Studio 2010
Парни доброе утро. Необходима ваша помощь. Установил Qt в Visual Studio 2010, но не могу правильно...

Ошибка в Visual Studio 2010 Express
#include &quot;stdafx.h&quot; #include &quot;Form1.h&quot; ;using namespace MyTest; int...

Ошибка в Visual Studio 2010 Ultimate
Здравствуйте, помогите решить проблему. Создаю проект (Visual C++) Windows Forms Application, после...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru