
09.03.2010, 00:56
|
|
Познающий
Регистрация: 10.01.2008
Сообщений: 58
С нами:
9650471
Репутация:
-2
|
|
Приветствую ).нужна помощь в следующем:
Написать функцию типа void ,которая перемножает две целочисленные матрицы (z = x*y),используя только адресную арифметику.Объявляется три двумерных массива (int x[m][n], int y[m][n],int z[m][n]).Зачем-то задаются ещё две целочисленные константы(не пойму,для чего).Кто-нибудь может это осилить ?  Не догоняю я эти матрицы...линейной алгебры у нас нет.
P.S.: НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ СИМВОЛЫ [].РАЗРЕШЕНА ТОЛЬКО АДРЕСНАЯ АРИФМЕТИКА И УКАЗАТЕЛИ !
|
|
|

09.03.2010, 15:19
|
|
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
С нами:
9332069
Репутация:
92
|
|
Сообщение от Welemir
Приветствую ).нужна помощь в следующем:
Написать функцию типа void ,которая перемножает две целочисленные матрицы (z = x*y),используя только адресную арифметику.Объявляется три двумерных массива (int x[m][n], int y[m][n],int z[m][n]).Зачем-то задаются ещё две целочисленные константы(не пойму,для чего).Кто-нибудь может это осилить ?  Не догоняю я эти матрицы...линейной алгебры у нас нет.
P.S.: НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ СИМВОЛЫ [].РАЗРЕШЕНА ТОЛЬКО АДРЕСНАЯ АРИФМЕТИКА И УКАЗАТЕЛИ !
http://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%BD%D0%BE%D0%B6%D 0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0 %B8%D1%86#.D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0. B8.D0.B8_.D0.BD.D0.B0.D0.B4_.D0.BC.D0.B0.D1.82.D1. 80.D0.B8.D1.86.D0.B0.D0.BC.D0.B8
Вот ссылка на вики, где написан алгоритм.
Ты не можешь перемножать int x[m][n], int y[m][n]
разве что int x[m][n], int[n][m]. Так как результирующая размерность должна быть [m][m].
Вот код, как примерно обращаться к чему.
PHP код:
#include <QtCore/QCoreApplication>
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
const int size = 5;
int **x = new int*[size];
for (int i = 0; i < size;++i)
x[i] = new int[size];
for (int i = 0;i < size;++i)
for (int j = 0;j < size;++j)
x[i][j] = i*j;
for (int i = 0;i < size;++i)
{
for (int j = 0;j < size;++j)
cout << x[i][j] << " ";
cout << endl;
}
cout << *(*(x+1)+1) << endl; // x[1][1]
cout << *(*(x+4)+4) << endl; // x[4][4]
for (int i = 0;i < size;++i)
delete[] x[i];
delete []x;
x = NULL;
system("pause");
return 0;
}
|
|
|

09.03.2010, 11:38
|
|
Участник форума
Регистрация: 07.02.2010
Сообщений: 189
С нами:
8556802
Репутация:
79
|
|
SHARA ну я тоже так думаю, или в Дельфи можно через записи 
|
|
|

09.03.2010, 16:33
|
|
Новичок
Регистрация: 20.10.2009
Сообщений: 9
С нами:
8714737
Репутация:
0
|
|
Помогите пожайлуста... Очень важно!!!!!! Даже отчислить могут ;((
Все лабораторные сделал, вот на последней застрял, некак не могу написать программу.
Написать программу, которая реализует две функции с одинаковыми именами, но разными входными параметрами (перегрузка). Функция min, что находит минимальное значение из двух целых чисел и минимальное значение более длинного со слов в предложении
буду очень благодарен... Зарание большое спасибо.
|
|
|

09.03.2010, 16:41
|
|
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
С нами:
9332069
Репутация:
92
|
|
Сообщение от GroodeR
Помогите пожайлуста... Очень важно!!!!!! Даже отчислить могут ;((
Все лабораторные сделал, вот на последней застрял, некак не могу написать программу.
буду очень благодарен... Зарание большое спасибо.
Какой язык?
|
|
|

09.03.2010, 17:01
|
|
Новичок
Регистрация: 20.10.2009
Сообщений: 9
С нами:
8714737
Репутация:
0
|
|
Сообщение от 4p3
Какой язык?
Язык реализации Си
|
|
|

09.03.2010, 19:58
|
|
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
С нами:
9332069
Репутация:
92
|
|
PHP код:
#include <iostream>
#include <cstdlib>
using namespace std;
int min(int a, int b);
int min(char *str);
int main(int argc, char *argv[])
{
int a, b;
char *str = "I am moving on";
cin >> a >> b;
cout << min(a, b) << endl;
cout << str;
system("pause");
return 0;
}
int min(int a, int b)
{
return a < b ? a : b;
}
int min(char *str)
{
int len = 0;
// напишешь сюда логику
// Разбивай строку через strtok
// Длина строки через strlen
return len;
}
|
|
|

10.03.2010, 00:10
|
|
Новичок
Регистрация: 24.03.2009
Сообщений: 18
С нами:
9017234
Репутация:
12
|
|
Ребят помогите найти ошибку. В синтаксисе все норм. ввожу пасс, и ошибка.
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int mass[255];
void Massiv(int*mass)
{
int p,m,k;
mass=(int*)malloc(256*sizeof(int));
FILE*Dan;
Dan=fopen("Dannue","r+b");
fseek(Dan,p*sizeof(char),SEEK_SET);
for(k=0;k<256;k++)
{
fscanf(Dan,"%d",mass[k]);
printf("%d",mass[k]);
}
puts("enter new element:\n");
scanf("%d",&m);
fseek(Dan,0,SEEK_END);
fprintf(Dan,"%d",m);
int d;
puts("enter the number of delete element:\n");
scanf("%d",&d);
delete((int*)mass[d]);
fclose(Dan);
int c=0;
int scetchik = 0;
while (mass[k]!= '\0')
{
scetchik++;
}
for(k=1;k<256;k++)
{
c+=mass[k];
}
c = c/scetchik;
printf("\nSumma=%d",c);
int y[256];
for(k=1;k<256;k++)
{
if(mass[k]<15)
{y[k]=5*mass[k]*mass[k] + 21*mass[k];
}
if(mass[k]>=15&&mass[k]<=60)
{y[k]=mass[k]- (11/mass[k]-5);
}
else
{y[k]=1+mass[k]/(mass[k]+1);
}
printf("\n\ny%d=%0.3lf",k+1,y[k]);
}
getch();
}
void main(void)
{char login[128],strPass[128];
int i,j, symbol;
printf ("enter login:\n");
scanf("%s",&login);
printf ("password:\n");
scanf("&s",&strPass);
for(i=0;i<128;i++)
{symbol=getch();
if(symbol==13)
{break;}
strPass[i]=symbol;
printf("*");
}
FILE*Spis;
Spis=fopen("Spisok","r");
strrev(strPass);
char*Pass;
char str[256],pas[256];
int p;
for( i=0;i<256;i=i+2)
{
fscanf(Spis,"%s",str[i]);
char*strPtr=&str[i];
if(login!=strPtr)
{
puts("error!!!");
break;
}
else
{
fscanf(Spis,"%s",pas[i+1]);
char*pasPtr=&pas[i+1];
if(Pass!=pasPtr)
{
puts("error!!!");
break;
}
else
p=(i/2)+1;
Massiv(mass);
}
}
fclose(Spis);
getch();
}
|
|
|

11.03.2010, 11:37
|
|
Новичок
Регистрация: 21.01.2010
Сообщений: 7
С нами:
8580827
Репутация:
0
|
|
Программисты помогите пажалуйста!надо написать прогу на языке си++ чтобы кампилирывалось в GCC,задание такое-прога должна иметь две функции с одинаковыми именами,но разными параметрами.одна функция должна сравнивать 2 числа,а вторайа функция должна реализовывать поиск подстрок в строке.
я над ней долго мучился,но вышло так ,что первайа часть проги работает ,а до второй части дело не доходит.
вот то что йа накалякал:
---делал по книге которуйу дал препод
#include <iostream.h>
#include <string.h>
void strstr(int a,int b);
char strstr( char str,const char *substr);
int main()
{int a;int b;int ptr;
cout<<"Vvedite peremennie: ";
cin>>a;cin>>b;
strstr(a,b);
cout<<ptr<<"\n";
}
void strstr(int a,int b)
{if (a>b)
cout<<"Samoe bolschoe 4islo: "<<a;
if (b>a)
cout<<"Samoe bolschoe 4islo: "<<b;
if (b==a)
cout<<"4isla ravni ";
}
char strstr( char *str,const char *substr)
{
char str1[]= "Proizvoditsja poisk elementa";
char str2[]= "poisk";
char *ptr;
*ptr=strstr(str1,str2);
return strstr(str1,str2);
}
Уточню что вторайа половина проги должна искать искомое слово в строке или поиск подстроки,но йа так понял это одно и тоже.
помогите исправить так чтобы работала,но желательно чтобы сруктура проги была такайа,а то вы можете и в 5 строк написать,но препод неповерит что это йа.
P.S. Списки на отчисления висят ужо,нехотелосьбы быть отчисленым изза одной лабы.
зарание спасибо
|
|
|

11.03.2010, 12:11
|
|
Участник форума
Регистрация: 26.05.2007
Сообщений: 191
С нами:
9980126
Репутация:
9
|
|
https://forum.antichat.ru/threadnav122076-236-10.html
держи
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|