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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2011, 15:00   #1
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию МАТРИЦА

Дана квадратичная матрица B порядка m.Получить матрицу (C+B)^3 где С единичная матрица порядка m.
язык си
Должен быть динам.массив и массив заполняется с клавиатуры.
Сделать считывание(записи) исходных данных из файла(в файл)
Имя файла должно спрашиваться у пользователя.

Код:
#include <stdio.h>
#include <conio.h>
     #include <locale.h>   
int main() {
  setlocale(LC_ALL,"Rus");
        int irow, icol, n;
    float sum;
    printf("Введите порядок матрицы\n");
    printf("n = "); 
    scanf("%u", &n);
    float A[n][n], E[1][1];
    printf("Введите  матрицу A: \n");
    for(irow = 0; irow < n; irow++) 
        for(icol = 0; icol < n; icol++) 
        { 
            printf("A[%d][%d] = ", irow, icol);
            scanf("%f", &A[irow][icol]);
        }               
getch();
 
}
Как бы начало кода дальше не пойму как сделать

Последний раз редактировалось a.n.o.n.i.m; 01.06.2011 в 15:18.
a.n.o.n.i.m вне форума Ответить с цитированием
Старый 01.06.2011, 15:01   #2
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Ну так получайте
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 01.06.2011, 15:18   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Любой каприз за ваши деньги. Аська под аватаром.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 01.06.2011, 15:23   #4
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Код:
    printf("Введите порядок матрицы\n");
    printf("n = "); 
    scanf("%u", &n);
    float A[n][n],
... а грабли всё те же...
Компилятор не "съест" такое объявление массива.
Если размерность массива неизвестна на момент компиляции -- надо использовать динамические массивы.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 01.06.2011, 16:11   #5
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию

Код:
#include <iostream>
#include <conio.h>
#include <locale.h>   
using namespace std;
int main () 
{
    setlocale(LC_ALL,"Rus");
    int n;
    printf("Введите порядок матрицы\n");
    printf("n = "); 
    scanf("%u", &n);
    int X[n][n]; //объявляем массив целого типа
    int i,j; //переменные для цикла
          for (i = 0; i < n ; i++)
             for (j = 0; j < n ; j++)//цикл ввода массива
                   { 
                    cout<<"X["<<i<<","<<j<<"] = "; //На экран выводится 'X[i][j] = '
                    cin>>X[i][j]; //вводим с клавиатуры целые числа
                   }
    printf("\n"); //Переход на следующую строку
          for (i = 0; i < n ; i++) //цикл вывода массива
          { 
                    printf("\n") //Переход на следующую строку
          for (j = 0; j < n ; j++)
                    {
                    cout<<"X["<<i<<"]"<<"["<<j<<"] = "<<X[i][j]<<"\t"; //На экран выводится результат нашего ввода
                    }
          }
getch(); //Экран не закрывается, пока не нажата любая клавиша
}
Это как бы получше должно быть,только как дальше должно быть?????????

Код:
 cout<<"X["<<i<<","<<j<<"] = "; //На экран выводится 'X[i][j] = '
                    cin>>X[i][j]; //вводим с клавиатуры целые числа
Код:
cout<<"X["<<i<<"]"<<"["<<j<<"] = "<<X[i][j]<<"\t";
КаК данные строки будут выглядеть в си виде?

Последний раз редактировалось a.n.o.n.i.m; 01.06.2011 в 16:21.
a.n.o.n.i.m вне форума Ответить с цитированием
Старый 01.06.2011, 16:13   #6
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Если размерность массива неизвестна на момент компиляции -- надо использовать динамические массивы.

... или компилятор, удовлетворяющий стандарту С99.
Rififi вне форума Ответить с цитированием
Старый 01.06.2011, 16:18   #7
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Цитата:
или компилятор, удовлетворяющий стандарту С99
+1, gcc с такими объявлениями справляется
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 01.06.2011, 16:33   #8
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию

пост №5 посмотрите
a.n.o.n.i.m вне форума Ответить с цитированием
Старый 01.06.2011, 16:35   #9
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
КаК данные строки будут выглядеть в си виде?
Код:
printf("X[%d][%d] = %d\t", i, j, X[i][j]);


ЗЫ
Цитата:
GCC и другие компиляторы языка Си поддерживают многие нововведения стандарта C99. Тем не менее, ощущается недостаточная поддержка стандарта со стороны крупных производителей средств разработки, таких как Microsoft и Borland, которые сосредоточились, в основном, на языке C++, так как C++ обеспечивает функциональность, схожую с предоставляемой нововведениями стандарта.

GCC, невзирая на его расширенную поддержку C99, все ещё является не полностью совместимой реализацией: некоторые особенности не реализованы или работают некорректно.
ИМХО, не факт, что в учебном заведении у ТС используют gcc. Скорее всего, стоит какая-нибудь не самая новая версия Борланда... Хотя, конечно, могу и ошибаться -)
Впрочем с замечанием коллег полностью согласен... Привык, знаете ли, используя С (не плюсы), писАть по канонам. Old school, так сказать -)
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062

Последний раз редактировалось Mandrivnyk; 01.06.2011 в 16:51.
Mandrivnyk вне форума Ответить с цитированием
Старый 01.06.2011, 17:15   #10
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию

Код:
cout<<"X["<<i<<","<<j<<"] = "; //На экран выводится 'X[i][j] = '
                    cin>>X[i][j]; //вводим с клавиатуры целые числа
А это как будет в си?
a.n.o.n.i.m вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица на c++ leha_demi Помощь студентам 11 21.12.2010 00:18
Матрица Игорь Алёхин Помощь студентам 3 28.11.2010 19:53
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
Матрица fort-_-minor Общие вопросы C/C++ 5 05.08.2010 20:57
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11