Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2013, 12:23   #1
EdvardAvd
Пользователь
 
Регистрация: 26.11.2013
Сообщений: 11
Вопрос Вопрос по двумерному массиву

Как сделать на Си языке, чтоб программа считывала любой двумерный массив из файла и вычисляла сколько строк и столбцов у него? Буду благодарен, если поможете.

Последний раз редактировалось EdvardAvd; 26.11.2013 в 12:26.
EdvardAvd вне форума Ответить с цитированием
Старый 26.11.2013, 12:25   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

А язык программирования по запаху определять? Моя шапочка-телепата в стирке.
Но вообще варианта 3:
1) Использовать динамический массив (то есть тот в котором можно менять размерности)
2) Использовать какой-нибудь готовый компонент, типа листа Экзеля.
3) Анализировать формат файла (например, если количество строк задается строками текстового файла, то можно просто посчитать число строк в файле)
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 26.11.2013, 12:26   #3
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Цитата:
сколько линий и столбиков у него
строк и столбцов?

читать пока не конец строки - кол-во столбцов
читать пока не конец файла - кол-во строк
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 26.11.2013, 12:29   #4
EdvardAvd
Пользователь
 
Регистрация: 26.11.2013
Сообщений: 11
По умолчанию

Язык Си, забыл написать просто. Да, строки и столбцы, по своему называю ) А можете пример написать?
EdvardAvd вне форума Ответить с цитированием
Старый 26.11.2013, 12:40   #5
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

пример это от # до } ?
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 26.11.2013, 12:41   #6
EdvardAvd
Пользователь
 
Регистрация: 26.11.2013
Сообщений: 11
Хорошо

Цитата:
Сообщение от SaLoKiN Посмотреть сообщение
пример это от # до } ?
Можно и так, если не сложно.
EdvardAvd вне форума Ответить с цитированием
Старый 26.11.2013, 12:45   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
считывала любой двумерный массив из файла
Задача не решаема. В условии не хватает описания структуры файла. Если файл любой задача не решаема в принципе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.11.2013, 12:49   #8
EdvardAvd
Пользователь
 
Регистрация: 26.11.2013
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Задача не решаема. В условии не хватает описания структуры файла. Если файл любой задача не решаема в принципе.
.txt на пример. Суть, вписываем в него массив, а программа вычисляет.
EdvardAvd вне форума Ответить с цитированием
Старый 26.11.2013, 12:55   #9
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

вообщем, если у нас тупо массив, некой размерности N*M
тады вот...
Код:
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    char buff[6][50];
ifstream fin("input.txt"); // открыли файл для чтения
int A[5];
int i=0,j=0;
 if (!fin.is_open()) // если файл не открыт
        cout << "Файл не может быть открыт!\n"; // сообщить об этом
    else
while(fin.getline(buff[i], 50))i=i+1;
j=i;
for(i=0;i<j;i++)
cout<<buff[i]<<endl;
    fin.close(); // закрываем файл
    return 0;
}
только нужно допилить код,чтобы массив был динамическим и менял размерность по ходу считывания...
или, можно тупо пройти первый раз по файлу, посчитав кол-во строк.
а при втором проходе парсить в свое удовольствие считываемую строку. или вообще читать пока не конец строки по символам
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 26.11.2013, 13:01   #10
EdvardAvd
Пользователь
 
Регистрация: 26.11.2013
Сообщений: 11
По умолчанию

Цитата:
Сообщение от SaLoKiN Посмотреть сообщение
вообщем, если у нас тупо массив, некой размерности N*M
тады вот...
Код:
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    char buff[6][50];
ifstream fin("input.txt"); // открыли файл для чтения
int A[5];
int i=0,j=0;
 if (!fin.is_open()) // если файл не открыт
        cout << "Файл не может быть открыт!\n"; // сообщить об этом
    else
while(fin.getline(buff[i], 50))i=i+1;
j=i;
for(i=0;i<j;i++)
cout<<buff[i]<<endl;
    fin.close(); // закрываем файл
    return 0;
}
только нужно допилить код,чтобы массив был динамическим и менял размерность по ходу считывания...
или, можно тупо пройти первый раз по файлу, посчитав кол-во строк.
а при втором проходе парсить в свое удовольствие считываемую строку. или вообще читать пока не конец строки по символам
Это разве не Си++? Мне на Си надо. Или я чего-то не понимаю? Спасибо
EdvardAvd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как пройти по двумерному массиву realgleb Общие вопросы C/C++ 9 10.05.2012 21:36
процедура к двумерному массиву Alenaa Паскаль, Turbo Pascal, PascalABC.NET 1 11.11.2011 19:34
Поиск числа по двумерному массиву. Ibanez Wizard Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 31.03.2011 13:52
Помогите решить задачу по двумерному массиву в паскале Tolegg Помощь студентам 1 27.10.2009 23:05
помогите решить задачу по двумерному массиву Kain Помощь студентам 3 10.11.2008 17:34