Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

09.03.2010, 15:19
|
|
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме: 750247
Репутация:
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, 16:33
|
|
Новичок
Регистрация: 20.10.2009
Сообщений: 9
Провел на форуме: 54566
Репутация:
0
|
|
Помогите пожайлуста... Очень важно!!!!!! Даже отчислить могут ;((
Все лабораторные сделал, вот на последней застрял, некак не могу написать программу.
Написать программу, которая реализует две функции с одинаковыми именами, но разными входными параметрами (перегрузка). Функция min, что находит минимальное значение из двух целых чисел и минимальное значение более длинного со слов в предложении
буду очень благодарен... Зарание большое спасибо.
|
|
|

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

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

09.03.2010, 19:58
|
|
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме: 750247
Репутация:
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
Провел на форуме: 147876
Репутация:
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:18
|
|
Участник форума
Регистрация: 26.05.2007
Сообщений: 191
Провел на форуме: 389326
Репутация:
9
|
|
Сообщение от KrabKN
помогите зделать программу
Создание собственной библиотеки
создать библиотеку функций
Список группы (ФИО, возраст, средний балл по предметам)
на СИ
если еще нужно, случайно нашел вот статья которая тебе поможет
http://www.hostmake.ru/articles/c/257/
Там описан принцип работы со структурами
Посмотри пример про массивы структур, там практически описано решение твоего задания
|
|
|

11.03.2010, 11:37
|
|
Новичок
Регистрация: 21.01.2010
Сообщений: 7
Провел на форуме: 9494
Репутация:
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
Провел на форуме: 389326
Репутация:
9
|
|
https://forum.antichat.ru/threadnav122076-236-10.html
держи
|
|
|

11.03.2010, 12:41
|
|
Участник форума
Регистрация: 26.05.2007
Сообщений: 191
Провел на форуме: 389326
Репутация:
9
|
|
2sledopit2
Держи быдло код, работает
Код:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
void strstr(int &a, int &b);
void strstr(char *str, char *buf);
int main()
{
setlocale(LC_ALL,"Russian");
char s1[80]="Hellow word";
char s2[80]="word";
int i,j;
cout<<"Введите два числа: ";
cin>>i>>j;
strstr(i,j);//Cравнение двух чисел
//теперь рассмотрим поиск подстроки в строке
strstr(s1,s2);
return 0;
}
void strstr(int &a, int &b)
{
if(a>b) cout<<"Первое число больше второго";
else cout<<"Второе число больше первого";
cout<<endl;
}
void strstr(char *str, char *buf)
{
char *p;
char *q;
for(int i=0; str[i]; i++)
{
p=&str[i];
q=buf;
while(*q && *q==*p)
{
p++;
q++;
}
}
cout<<q;
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|