Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите написать прогу 
:(
    Опции темы
G1000
Дата 13.5.2006, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.5.2006

Репутация: нет
Всего: нет



Недавно решил начать изучать С++ и вот нужно написать такую прогу 
(Visual C++ 6.0)

Задание :
Ввести целочисленную квадратную матрицу N*M
Переставить (поменять местами) первую и последнюю строки.

Прошу помощи в решении этой задачи.
Заранее спасибо. 
PM MAIL   Вверх
GrayCardinal
Дата 13.5.2006, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 2
Всего: 58



Что за фигня ? "Решился начать изучать" и "нужно написать". Это что, сейчас модно ?

Добавлено @ 16:02 
Типичная задачка первокурсника, млин, ничего интересного smile 


--------------------
PM MAIL WWW   Вверх
G1000
Дата 13.5.2006, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.5.2006

Репутация: нет
Всего: нет



это в учебнике по С++
просто хочу понять как решить...

Добавлено @ 16:13 
void main()
{int matr[50][50];
int N, M;
int n1;
int a; 
cout<<"Colichestvo strok i stolbcov matric:\n";
cin>>n1;
for(int i=0; i<n1;i++) 
  for(int j=0;j<n1;j++)
    {
        cout<<"Vvedite "<<j<< "chislo "<<i<<" stolbca:\n";
        cin>>matr[j][i];

     }
  
for(i=0;i<n1;i++)
  {
     a = matr[0][i];
     matr[0][i]=matr[n1][i];
    matr[n1][i]=a;
  }

}

Вот по моим соображениям код этой проги....токо чето после ввода матрицы прога заканчивается а результат не выводится smile  
PM MAIL   Вверх
AlanG
Дата 13.5.2006, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 11.5.2006
Где: РашЫн ФидирейшЫн

Репутация: нет
Всего: нет



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

Код

int num[3][5];
int num2[3][5]; //Матрица в которую скопируем первую матрицу

void main(){
  int t, i; //переменая t - строки,  переменная i - столбцы
 for(t=0; t<3;t++)
  for(i=0;i<5;i++)
    num[t][i]=(t*5)+i+1; //забиваем цифрами начиная с 1-цы

 for(t=0;t<3;t++){
  for(i=0;i<5;i++)
   printf("%3d", num[t][i]); //Выводим матрицу
   printf("\n");  
 }
 num2=num; //копируем матрицу после того как все забили в ячейки
}

 void Go(){
 int t=0; 
 int i;
 int i2=2; //Запоминаем последнюю строку
  for(i=0; t<5; t++) //Забиваем столбцами
    num[t][i]=num2[i2][i];
   
}
   

Это сообщение отредактировал(а) AlanG - 13.5.2006, 17:06
PM MAIL   Вверх
AlanG
Дата 13.5.2006, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 11.5.2006
Где: РашЫн ФидирейшЫн

Репутация: нет
Всего: нет



На самом деле логика проста.
Вот смотри: 
Используем матрицу фиксированного размера, используем цикл который забивает всю инфу в ячейки.
Сдесь самое главное вкурить то, что строка на самом деле строится из столбцов, т.е. в нашем примере нам нужно зафиксировать последню строку и перемещать только столбцы используя при этом  кол-во столбцов, вот и все. Так же брат инфу можно любую, и откуда угодно. 
Я как сам начинающий могу посоветовать одно: не нужно боятся писать и читать код, самое главное вкурить логику и не старатся задумыватся над циклами и цифрами smile   
PM MAIL   Вверх
Diesel Draft
Дата 13.5.2006, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: -1
Всего: 5



А если просто поменять указатели на первою и последнюю строку
 


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
AlanG
Дата 13.5.2006, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 11.5.2006
Где: РашЫн ФидирейшЫн

Репутация: нет
Всего: нет



А почему в твоем коде переменой n1 не присвоено значение?
Да и вообще, какая логика в твоих побитовых операциях? 
PM MAIL   Вверх
Voldemar2004
Дата 13.5.2006, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: нет
Всего: 23



G1000, ты прикыдываешь, сколько ты это будешь вводить?
Код
matr[50][50];
Вот мой пример:
Код
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

void main(void)
{

const n = 6, m = 5;
int a[n][m];

    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++) a[i][j]=rand();
    }

    cout<<"Random Matrix: "<<"\n";

    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
       {
    cout<<a[i][j]<<"\t";
       if(j==m-1){cout<<"\n";};
        }
    }

   cout<<"\nResult Matrix: "<<"\n";

   for(int i=0; i<m; i++) cout<<a[n-1][i]<<"\t";

   cout<<"\n";

   for(int i=1; i<n-1; i++)
    {

      for(int j=0; j<m; j++)
       {
    cout<<a[i][j]<<"\t";
       if(j==m-1){cout<<"\n";};
        }

    }

   for(int i=0; i<m; i++) cout<<a[0][i]<<"\t";

getch();
}

 


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
nikitao
Дата 16.5.2006, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 1
Всего: 26



ffldove, один топик один вопрос smile  


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
ffldove
Дата 16.5.2006, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 16.5.2006

Репутация: -1
Всего: нет



сколько топиков столько и вопросов smile  smile  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0524 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.