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

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

Войти
Регистрация
Восстановить пароль
 
Слоечка
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 22
#1

Проблема с массивом. Выводится только один элемент матрицы. - C++

31.03.2012, 16:03. Просмотров 457. Ответов 5
Метки нет (Все метки)

Здравствуйте.
Программа должна считывать данные из файла (матрицу 128х128), записывать их в двумерный массив и выводить на экран.
Я столкнулась с проблемой того, что программа выводит лишь один элемент.
Как можно это исправить?
Заранее спасибо.

Код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stdio.h>
#include <conio.h>
 
using namespace std;
int main ()
{
    puts ("array of matrix");
    FILE *fs; //покажчик на вихідний файл
    short array [128][128]; //оголошення двовимірного масиву
    int i,j;
    fs=fopen("fs.txt","r"); //відкрити файл для читання
    fscanf (fs, "%d", &array[128][128]); //зчитати масив чисел
    for (int i=0; i<128; i++)
        for (int j=0; j<128; j++);
        {
            printf("%d",array[128][128]);
        }
        fclose(fs);
//      fputs("ololo");
        getch();
}
http://ifolder.ru/29644111 - текстовый файл (33кб,поэтому не загружается)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2012, 16:03     Проблема с массивом. Выводится только один элемент матрицы.
Посмотрите здесь:

C++ Определить количество столбцов матрицы, содержащих хотя бы один нулевой элемент
Если в строках матрицы есть хотя бы один положительный элемент ,то поменять знаки всей матрицы на противоположные C++
Вывод числа из файла с двумерным массивом, но только один раз C++
Вывод списка объектов. Выводится только ссылка на первый элемент C++
C++ Ввод с клавы размера целочисленной матрицы, а затем самой матрицы. Найти наибольший элемент. Разрешается использовать только один оператор цикла
Дано двумерный массив целых чисел. Найти номера строк, в которых есть только один непарный элемент C++
C++ В файл выводится два объекта, а возвращается только один
C++ Количество столбцов матрицы, содержащих хотя бы один нулевой элемент
Выводится только последний элемент массива C++
Создание и вывод односвязного списка (выводится только первый элемент) C++
Выводится только последний элемент очереди, а нужно вывести все C++
C++ В односвязный список записывается только один элемент вместо нескольких

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
31.03.2012, 16:07     Проблема с массивом. Выводится только один элемент матрицы. #2
fscanf надо делать в цикле, считывая отдельно каждое значение
C++
1
2
3
    for (i=0;i<128;i++)
     for (j=0;j<128;j++)
      fscanf (fs, "%d", &array[i][j]); //ç÷èòГ*ГІГЁ Г¬Г*Г±ГЁГў Г·ГЁГ±ГҐГ«
Слоечка
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 22
31.03.2012, 16:14  [ТС]     Проблема с массивом. Выводится только один элемент матрицы. #3
теперь выдает ноль и debug error
Слоечка
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 22
31.03.2012, 16:21  [ТС]     Проблема с массивом. Выводится только один элемент матрицы. #4
и еще один вариант
Миниатюры
Проблема с массивом. Выводится только один элемент матрицы.  
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
31.03.2012, 16:24     Проблема с массивом. Выводится только один элемент матрицы. #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
#include <iostream>
#include <stdio.h>
#include <conio.h> 
using namespace std;
int main ()
{
    puts ("array of matrix");
    FILE *fs=fopen("fs.txt","r");; //â³äêðèòè ГґГ*éë äëÿ Г·ГЁГІГ*Г*Г*Гї//ïîêГ*æ÷èê Г*Г* âèõ³äГ*ГЁГ© ГґГ*éë
    short array [128][128]; //îãîëîøåГ*Г*Гї äâîâèì³ðГ*îãî Г¬Г*Г±ГЁГўГі
    int i,j;
    for (i=0;i<128;i++)
     for (j=0;j<128;j++)
      fscanf (fs, "%u",&array[i][j]); //ç÷èòГ*ГІГЁ Г¬Г*Г±ГЁГў Г·ГЁГ±ГҐГ«
    fclose(fs);
    for (int i=0; i<128; i++)
        {
         for (int j=0; j<128; j++)
            printf("%u ",array[i][j]);
         printf("\n");
        }
    system("pause");
    return 0;
}
Слоечка
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 22
31.03.2012, 16:35  [ТС]     Проблема с массивом. Выводится только один элемент матрицы. #6
ураа, спасибо большое!
Yandex
Объявления
31.03.2012, 16:35     Проблема с массивом. Выводится только один элемент матрицы.
Ответ Создать тему
Опции темы

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