
31.03.2009, 00:44
|
|
Участник форума
Регистрация: 20.10.2006
Сообщений: 211
С нами:
10293035
Репутация:
36
|
|
Доброй ночи. Прошу помощи ачатовцы. Завтро надо здать. Не прошу готовую програму. Хотя было бы не плохо.Может хоть идею. Нужно повернуть двухмерный масив на 90 градусов. Предполагаю что нужно много цыклов и указателей которые перемещать будут. Но не могу придумать саму систему.
|
|
|

31.03.2009, 10:33
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
С нами:
9394886
Репутация:
1467
|
|
Сообщение от miniden
Доброй ночи. Прошу помощи ачатовцы. Завтро надо здать. Не прошу готовую програму. Хотя было бы не плохо.Может хоть идею. Нужно повернуть двухмерный масив на 90 градусов. Предполагаю что нужно много цыклов и указателей которые перемещать будут. Но не могу придумать саму систему.
повернуть на 90 градусов по часовой или против часовой стрелки?)
а так там не надо указателей)
Оставляйте заказы за 1 день,или Раньше!!! До сдачи!!!!
|
|
|

31.03.2009, 07:06
|
|
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
С нами:
9187097
Репутация:
158
|
|
|
|
|

31.03.2009, 10:50
|
|
Участник форума
Регистрация: 20.10.2006
Сообщений: 211
С нами:
10293035
Репутация:
36
|
|
ДАс спасибо, это вроде подходит.
повернуть на 90 градусов по часовой или против часовой стрелки?)
это не играет роли. Язык си.
Вот, блин утро если кто есть...Не пашет что-то.
Код:
#include <iostream.h>
#include <windows.h>
#include <stdlib.h>
#include<time.h>
void main()
{
const int N=5;
int matrix[N][N];
srand(time(0));
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
matrix[i][j]=rand()%(10);
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
for ( int k = 0; k < N*N/2; ++k )
{
int i = k / N, j = k % N;
if ( i <= j && j < N-1-i )
{
int a = matrix[i][j];
matrix[i][j] = matrix[N-1-j][i];
matrix[N-1-j][i] = matrix[N-1-i][N-1-j];
matrix[N-1-i][N-1-j] = matrix[j][N-1-i];
matrix[j][N-1-i] = a;
}
}
{
for(int j=0;j<N;j++)
{
matrix[i][j]=rand()%(10);
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
}
Последний раз редактировалось miniden; 31.03.2009 в 11:04..
|
|
|

31.03.2009, 16:25
|
|
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
С нами:
9187097
Репутация:
158
|
|
Ошибка здесь:
Код:
{
for(int j=0;j<N;j++)
{
matrix[i][j]=rand()%(10);
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
Исправленный рабочий вариант:
Код:
#include <iostream.h>
#include <windows.h>
#include <stdlib.h>
#include<time.h>
void main()
{
const int N=5;
int matrix[N][N];
srand(time(0));
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
matrix[i][j]=rand()%10;
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
for ( int k = 0; k < N*N/2; ++k )
{
int i = k / N, j = k % N;
if ( i <= j && j < N-1-i )
{
int a = matrix[i][j];
matrix[i][j] = matrix[N-1-j][i];
matrix[N-1-j][i] = matrix[N-1-i][N-1-j];
matrix[N-1-i][N-1-j] = matrix[j][N-1-i];
matrix[j][N-1-i] = a;
}
}
for(i=0; i<N; i++){
for(int j=0;j<N;j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
}
|
|
|

31.03.2009, 20:05
|
|
Новичок
Регистрация: 22.03.2009
Сообщений: 2
С нами:
9020336
Репутация:
0
|
|
3 задачки (паскаль)
1. Написать прог-му вычисления выражения и ввода полученного результата на экран, q=max(x+y+z,x-y,min(XY))
2. Найти сумму кубов всех целых чисел от 20 до 40
3.Дан массив натуральных чисел. Найти сумму элементов, кратных данному 15
Я знаю, что все задачи примитивные, но по болезни пропустил эти темы...
Жду ответов! 
|
|
|

31.03.2009, 20:33
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
С нами:
9746420
Репутация:
119
|
|
Serj_smail, что за max и min?
вторая:
Код:
sum:=0;
for i = 20 to 40 do
begin
sum:=i*i*i+sum;
end;
третья:
Код:
a:array [1..10] of integer;
sum:=0;
for i = 0 to 10 do
begin
if a[i] mod 15 = 0 then
sum:=sum + a[i];
end;
надеюсь помог)
|
|
|

31.03.2009, 20:37
|
|
Новичок
Регистрация: 22.03.2009
Сообщений: 2
С нами:
9020336
Репутация:
0
|
|
Сам не знаю =)
Спасибо ограомное, очень помог !
|
|
|

31.03.2009, 20:40
|
|
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
С нами:
9187097
Репутация:
158
|
|
думаю что max и min - это максимальное и минимальное значение...
проверка
Код:
max=y;
if(x>max)
max=x;
if(z>max)
max=z;
//так можно хоть сколько значений проверить =)))
return max;
типа надо написать функции которая будет возвращять макс/мин значение..
Последний раз редактировалось fker; 31.03.2009 в 20:51..
|
|
|

31.03.2009, 20:48
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
С нами:
9746420
Репутация:
119
|
|
Насчет min'а все понятно...из двух чисел ищется минимальное. А вот насчет max'а...там три параметра, хз какой там алгоритм. Поэтому я и пропустил задание 
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|