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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2013, 16:52   #1
jesterXXX
Пользователь
 
Регистрация: 16.09.2012
Сообщений: 17
По умолчанию Выражение должон быть допустимо для изменения левосторонним значемнием

Задание - выполнить циклический сдвиг матрицы
Код:
#include <math.h>
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
double GG ( double a[10][10], int p,int n,int m)
{
int i, j, k ;
double temp,temp2,temp3;
for(i=0; i < n/2; i++)
{
for(int z = p; z>0 ; z--) //кол-во сдвигов - к
{
for(j = i, temp = a[i][j]; j < n-1-i; j++)
{
temp2 = a[i][j+1];
a[i][j+1] = temp;
temp=temp2;
}
for(k = i+1; k < m-i; k++)
{
temp3=temp;
temp=a[k][j];
a[k][j]=temp3;
}
for( j--, k--; j >= i; j--)
{
temp3=temp;
temp=a[k][j];
a[k][j]=temp3;
}
for(j++, k--; k >= i; k--)
{
temp3=temp;
temp=a[k][j];
a[k][j]=temp3;
}}}
return a[10][10];
 
}
 
int main()
{
int p, n, m, i, j;
double a[10][10];
ifstream read("input.txt");
if (!read) {
cout << "Файл не найден!" << endl;
system ("PAUSE");
return 1;
}
read >> n;
//выделение памяти
int **a = new int *[n];
for (i=0; i<n; i++)
a[i] = new int [n];
//считывание массива
for (i=0; i<n; i++) {
for (j=0; j<n; j++)
read >> a[i][j];
}
cout << "Ваш массив:" << endl;
for (i=0; i<n; i++) {
for (j=0; j<n; j++)
cout << setw(3) << a[i][j] << " ";
cout << endl;


return 0;
}
проблема возникает с вводом из файла

Последний раз редактировалось jesterXXX; 22.01.2013 в 19:09.
jesterXXX вне форума Ответить с цитированием
Старый 22.01.2013, 17:39   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Код оформляется тегом форума CODE.

Код:
double a[10][10];
Эта строка уже выделяет место под массив a элементов типа double размера 10х10.
Код:
int **a = new int *[n];
А теперь Вы объявляете a ещё раз, как указатель на указатель на int. Лично я запутался; компилятор, видимо, тоже.
Abstraction вне форума Ответить с цитированием
Старый 22.01.2013, 19:09   #3
jesterXXX
Пользователь
 
Регистрация: 16.09.2012
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Код оформляется тегом форума CODE.

Код:
double a[10][10];
Эта строка уже выделяет место под массив a элементов типа double размера 10х10.
Код:
int **a = new int *[n];
А теперь Вы объявляете a ещё раз, как указатель на указатель на int. Лично я запутался; компилятор, видимо, тоже.
и что вы предлагаете делать?)) переименовать?
jesterXXX вне форума Ответить с цитированием
Старый 22.01.2013, 23:35   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
и что вы предлагаете делать?)) переименовать?
Я ничего не предлагаю, ввиду хотя бы того, что у меня нет сведений о том, что, собственно, надо сделать (скажем, каково множество элементов матрицы) - Вы их не предоставили, а миелофон, к сожалению, в ремонте.
Вы... пожаловались... что у Вас возникает проблема. Я попробовал прояснить причины, её породившие. Сами решайте, что будете делать с этим знанием.
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярное выражение для Яндекса,кодировка Tepper PHP 4 19.09.2012 12:50
регулярное выражение для создания массива aferistz PHP 1 28.03.2011 11:40
начальное значение ссылки на левосторонний параметр должно быть левосторонним значением Dimarik Общие вопросы C/C++ 3 03.03.2011 23:14
строковое выражение числа должно быть переведено в вещественный тип Wi1D Помощь студентам 8 09.02.2009 18:16
Создать выражение для запроса с условием smoky Microsoft Office Access 3 13.05.2008 21:39