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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 406
#1

Открытие файла, найти недочеты в коде - C++

11.03.2014, 20:37. Просмотров 370. Ответов 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
56
57
58
59
60
#include "stdafx.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
 
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream>
using namespace std;
 
int main()
 
{
    int *s;
    FILE *fin, *fout;                   //объявление файловых потоков
    int i,j, urv, n,q=0;                // объявления целочисленных переменных
    bool *b,f=1;
    fin = fopen("C:\100VIDEO\123.txt", "rt");       //открытие файлового потока
   fin = fopen("input1.txt", "rt");
    fscanf(fin, "%d", &n);              //считывание размерности матрицы из файла
    s= new int[n*n];                    //выделение памяти под массив матрицы
    b= new bool[n];                     //выделение памяти под массив
    for (i = 0; i < n; i ++)
        b[i]=0;
    for (i = 0; i < n; i ++)
        for (j = 0; j < n; j ++) {
            fscanf(fin, "%d", &s[n * i + j]);
        }
    fclose(fin);
 
for (urv=0;urv<n;urv++)
{   
    printf("N%d: ",urv);
 
    for (j = 0; j < n; j ++)
    {   int sum=0;
        for ( i = 0; i < n; i ++) 
    sum+=s[i*n+j]; //сумма столбца
        if ((sum==0)&&(!b[j]))
        {
            printf("%d ",j+1);
            b[j]=1;  
 
        }
 
    }
    for(q=0;q<n;q++)
    if(b[q])for ( i = 0; i < n; i ++) 
    s[q*n+i]=0; // обнуление строки
 
   printf("\n");
   
}       
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.03.2014, 06:24     Открытие файла, найти недочеты в коде #2
Цитата Сообщение от avatar1870 Посмотреть сообщение
C++
1
2
fin = fopen("C:\100VIDEO\123.txt", "rt"); * * * //открытие файлового потока
fin = fopen("input1.txt", "rt");
Открытие файлов, особенно для чтения, всегда проверять нужно. Обратные слеши, в коде, в путях, нужно двойные писать:
C++
1
2
if ((fin = fopen("C:\\100VIDEO\\123.txt", "rt")) == NULL)
    printf("Error!\n");
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 406
12.03.2014, 20:12  [ТС]     Открытие файла, найти недочеты в коде #3
Всё равно не хочет запускаться
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.03.2014, 20:37     Открытие файла, найти недочеты в коде #4
Цитата Сообщение от avatar1870 Посмотреть сообщение
Всё равно не хочет запускаться
Код, который пробуете выложите. На экран что-нибудь выводит? Опишите: что значит "не хочет запускаться"?

Добавлено через 7 минут
Код компилируется? Верхнюю main() уберите.
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 406
12.03.2014, 22:57  [ТС]     Открытие файла, найти недочеты в коде #5
Код

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
// disc_03.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 
 
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
 
{
    int *s;
    FILE *fin, *fout;                   //объявление файловых потоков
    int i,j, urv, n,q=0;                // объявления целочисленных переменных
    bool *b,f=1;
    if ((fin = fopen("C:\\100VIDEO\\123.txt", "rt")) == NULL)
    printf("Error!\n"); //открытие файлового потока
     fin = fopen("input1.txt", "rt");
    scanf(fin, "%d", &n);               //считывание размерности матрицы из файла
    s= new int[n*n];                    //выделение памяти под массив матрицы
    b= new bool[n];                     //выделение памяти под массив
    for (i = 0; i < n; i ++)
        b[i]=0;
    for (i = 0; i < n; i ++)
        for (j = 0; j < n; j ++) {
            fscanf(fin, "%d", &s[n * i + j]);
        }
    fclose(fin);
 
for (urv=0;urv<n;urv++)
{   
    printf("N%d: ",urv);
 
    for (j = 0; j < n; j ++)
    {   int sum=0;
        for ( i = 0; i < n; i ++) 
    sum+=s[i*n+j]; //сумма столбца
        if ((sum==0)&&(!b[j]))
        {
            printf("%d ",j+1);
            b[j]=1;  
 
        }
 
    }
    for(q=0;q<n;q++)
    if(b[q])for ( i = 0; i < n; i ++) 
    s[q*n+i]=0; // обнуление строки
 
   printf("\n");
   
}       
 
    return 0;
}
Миниатюры
Открытие файла, найти недочеты в коде  
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.03.2014, 23:10     Открытие файла, найти недочеты в коде #6
Зачем вам два потока для чтения?

Добавлено через 54 секунды
Компилятор пишет, какая ошибка. Что ещё нужно?
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 406
12.03.2014, 23:19  [ТС]     Открытие файла, найти недочеты в коде #7
Поставил fopen_s всё равно не работает
Корд
7 / 7 / 0
Регистрация: 22.03.2013
Сообщений: 188
12.03.2014, 23:26     Открытие файла, найти недочеты в коде #8
C++
1
 scanf(fin, "%d", &n);
почему scanf?
Для чтения из файла используется fscanf.
C++
1
 fscanf(fin, "%d", &n);
Компилятор и показывает эту ошибку.
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 406
12.03.2014, 23:41  [ТС]     Открытие файла, найти недочеты в коде #9
Я извиняюсь, что беспокою но не пашет онаа(((
Миниатюры
Открытие файла, найти недочеты в коде  
Корд
7 / 7 / 0
Регистрация: 22.03.2013
Сообщений: 188
12.03.2014, 23:44     Открытие файла, найти недочеты в коде #10
avatar1870,
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
#include "stdafx.h"
 
 
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
 
{
    int *s;
    FILE *fin, *fout;                   //объявление файловых потоков
    int i,j, urv, n,q=0;                // объявления целочисленных переменных
    bool *b,f=1;
    if ((fin = fopen("C:\\100VIDEO\\123.txt", "r+")) == NULL)
    printf("Error!\n"); //открытие файлового потока
     fin = fopen("input1.txt", "r+");
    fscanf(fin, "%d", &n);               //считывание размерности матрицы из файла
    s= new int[n*n];                    //выделение памяти под массив матрицы
    b= new bool[n];                     //выделение памяти под массив
    for (i = 0; i < n; i ++)
        b[i]=0;
    for (i = 0; i < n; i ++)
        for (j = 0; j < n; j ++) {
            fscanf(fin, "%d", &s[n * i + j]);
        }
    fclose(fin);
 
for (urv=0;urv<n;urv++)
{   
    printf("N%d: ",urv);
 
    for (j = 0; j < n; j ++)
    {   int sum=0;
        for ( i = 0; i < n; i ++) 
    sum+=s[i*n+j]; //сумма столбца
        if ((sum==0)&&(!b[j]))
        {
            printf("%d ",j+1);
            b[j]=1;  
 
        }
 
    }
    for(q=0;q<n;q++)
    if(b[q])for ( i = 0; i < n; i ++) 
    s[q*n+i]=0; // обнуление строки
 
   printf("\n");
   
}       
 
    return 0;
}
Пробуйте.
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.03.2014, 23:52     Открытие файла, найти недочеты в коде #11

Не по теме:

Как в пустоту пишу:


???
Цитата Сообщение от alsav22 Посмотреть сообщение
Зачем вам два потока для чтения?
Корд
7 / 7 / 0
Регистрация: 22.03.2013
Сообщений: 188
12.03.2014, 23:59     Открытие файла, найти недочеты в коде #12
alsav22,
Только, что присмотрелся к его коду. Обратил внимание только на его Error
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 406
13.03.2014, 00:00  [ТС]     Открытие файла, найти недочеты в коде #13
ну ё-маё блин(
Миниатюры
Открытие файла, найти недочеты в коде  
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.03.2014, 00:12     Открытие файла, найти недочеты в коде #14
Цитата Сообщение от avatar1870 Посмотреть сообщение
ну ё-маё блин(
???
Цитата Сообщение от alsav22 Посмотреть сообщение
Зачем вам два потока для чтения?
Второго файла нет или не там лежит.

Добавлено через 55 секунд
Цитата Сообщение от Корд Посмотреть сообщение
Обратил внимание только на его Error
Это я у ТС спрашиваю про два потока.
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 406
13.03.2014, 00:14  [ТС]     Открытие файла, найти недочеты в коде #15
Убрал строчку со вторым файлом
Корд
7 / 7 / 0
Регистрация: 22.03.2013
Сообщений: 188
13.03.2014, 00:17     Открытие файла, найти недочеты в коде #16
avatar1870, Убедись, что файл лежит по указанному вами пути.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2014, 23:31     Открытие файла, найти недочеты в коде
Еще ссылки по теме:

C++ Открытие файла на C++
C++ Открытие файла
C++ Замена слов в цикле. Найти недочеты в коде
Программа из учебника Прата. Структуры в многофайловом приложении. Исправить недочеты в коде C++
Разность множеств: найти недочеты в коде C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 406
13.03.2014, 23:31  [ТС]     Открытие файла, найти недочеты в коде #17
Лежит
Yandex
Объявления
13.03.2014, 23:31     Открытие файла, найти недочеты в коде
Ответ Создать тему
Опции темы

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