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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.04.2009, 15:42   #1
Petruha-nsk
Пользователь
 
Аватар для Petruha-nsk
 
Регистрация: 10.04.2009
Сообщений: 69
По умолчанию составить матрицу из данных внешнего файла

ДОБРЫЙ ВЕЧЕР!
Помогите пожалуйста,мне из внешнего файла,в котором данные записаны следующим образом:
5
1 2 5
2 1 3 4
3 2 4
4 2 3 5
5 1 4
где первый символ,т.е. число 5, это порядок матрицы. а из данных этого файла нужно получить матрицу следующего вида:
1 2 3 4 5
2 1 2 2 1
5 3 4 3 4
0 4 0 5 0
0 0 0 0 0
т.е. каждая строка их файла записывается в столбец матрицы,а если элементов в строке меньше,чем порядок матрицы,то на недостающие позиция пишем нули.
кто может,напишите пожалуйста операторы,которые выполянют подобные действия. буду очень признателен. заранее спасибо!))

P.S.если же элементы из файла проще преобразовывать в строки матрицы,т.е.:
1 2 5 0 0
2 1 3 4 0
3 2 4 0 0
4 2 3 5 0
5 1 4 0 0
то этот вариант тоже подойдет)
Petruha-nsk вне форума
Старый 11.04.2009, 16:42   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот второй вариант:
Код:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>

int main()
{
FILE *f;
int a[100][100];
int i,j,N;
char s[100],*p;

f = fopen("test.txt","r");

fscanf(f,"%d\n",&N);

for(i=0;i<N;i++)
 {
  fgets(s,100,f);
  j = 0;
  p = strtok(s," ");
  a[i][j++] = atoi(p);
  do
   {
    p = strtok(NULL," ");
    a[i][j++] = atoi(p);
   } while(p);
  for(;j<N;j++)
   a[i][j] = 0;
 }


for(i=0;i<N;i++)
 {
 for(j=0;j<N;j++)
  printf("%4d",a[i][j]);
 printf("\n");
 }

fclose(f);

getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 11.04.2009, 16:58   #3
Petruha-nsk
Пользователь
 
Аватар для Petruha-nsk
 
Регистрация: 10.04.2009
Сообщений: 69
По умолчанию

огромное спасибо!
Petruha-nsk вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните пожалуйста как можно считать значения в этом файле в вектор, 4 -ую матрицу, 6-ую матрицу ciaonataha Помощь студентам 1 30.03.2009 20:57
Задача по PASCAl. Помогите сделать. надо чтоб из внешнего файла Waia Помощь студентам 1 02.12.2008 09:10
Как составить матрицу корреспонденции? Alex2008 Помощь студентам 3 25.04.2008 19:17
Программа по взятию инфромации из внешнего файла Stelix Помощь студентам 2 18.02.2008 01:13