Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помгите написать программу  (Прочитано 6049 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Xander7
Гость
« : 22-10-2005 20:13 » 


Люди, помогите написать программу,кто может.Суть программы в том, что задается задаеться последовательность точек, из неё составляеться матрица квадратная. Так вот программа должна вывести матрицу, транспонируемую относительно главной диагонали. Ну, кто немного не понял, нужно рядки матрицы перенести в столбцы, но главную диагональ не трогать. Я то сам в программировании не шарю сильно, а учитель не хочет обьяснять. Спрашивал у одной женшины, и вместе с ней написал программу, только она чего-то не работает. Если сможете, помогите первокурснику...
текст программы
#include <iostream.h>
void main()
{ float a[10][10], t;
for (i=0; i<n-1; i++)
{for (j=0; j<n-1; j++)
{cin>>a[i][j];}}
for (i=0; i<n; i++)
{for (j=0; j<n; j++)
{a[i][j]=a[j][i];}}
for (i=0; i<n; i++)
{for (i=0; i<n; i++)
{cout a[i][j];}}}                    И не матерится!
« Последнее редактирование: 22-04-2006 14:32 от Алексей1153 » Записан
Xander7
Гость
« Ответ #1 : 22-10-2005 20:16 » 


#include <iostream.h> сорри, опечатка
void main()
{ float a[10][10];
cin>>n;(порядок)
for (i=0; i<n; i++)
{for (j=0; j<n; j++)
{cin>>a[i][j];}}
for (i=0; i<n-1; i++)
{for (j=0; j<i; j++)
{a[i][j]=a[j][i];}}
for (i=0; i<n; i++)
{for (i=0; i<n; i++)
{cout a[i][j];}}}   
« Последнее редактирование: 22-04-2006 14:32 от Алексей1153 » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #2 : 22-10-2005 20:38 » 

Ну у меня мат только один. Ты то хоть сам разбираешся, в том что так все скомкал. Для лучшего понимания используй форматирование текста. От того что он у тебя он будет форматирован, размеры конечного кода не зависят. Но зато приятно для глаз.

Если я правильно понял условия, то код такой
Код:
#include <iostream.h>
void main()
{
   float a[10][10];
   float t;
   cin>>n;
   for (i=0; i<n; i++)
   {
       for (j=0; j<n; j++)
       {
           cin>>a[i][j];
       }
   }
   for (i=0; i<n; i++)
   {
       for (j=0; j<n; j++)
       {
           if (i !=j)
           {
               t=a[i][j];
               a[i][j]=a[j][i];
               a[j][i]=t;
           }
       }
    }
    for (i=0; i<n; i++)
    {
       for (i=0; i<n; i++)
       {
            cout a[i][j];
       }
    }
}
Ты обменивал только в одну сторону. Выражение в С++ A=B Обозначает, что после этой строки А примет значение B. B Так и будет нести гордо свое старое значение. Чтобы действительно обменять, сушествует несколько способов, самый простой и надежный через сторонию переменную.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Xander7
Гость
« Ответ #3 : 24-10-2005 13:22 » 

Вау, спасибо большшое, не знал про обьявление данных через другие переменные. Надо сильней Липпмана читать.
Вобшем, спасли вы меня. Надо правда ещё проверить, но,думаю,лабу сдам хорошо. :vzhik: Отлично :hart: Круто!
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #4 : 25-10-2005 04:32 » 

> не знал про обьявление данных через другие переменные.

- это как? Улыбаюсь
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines