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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2014, 14:13   #1
AirC
Пользователь
 
Регистрация: 25.04.2014
Сообщений: 11
По умолчанию Перевести из паскаля в Си

uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
b,ab:array[1..nmax] of integer;
m,n,i,j,k:byte;
begin
clrscr;
randomize;
repeat
write('Размер матрицы и вектора от до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Матрица A:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(9)+1;
write(a[i,j]:3);
end;
writeln;
end;
writeln;
writeln('Вектор столбец B:');
for i:=1 to n do
begin
b[i]:=random(9)+1;
writeln(b[i]);
end;
writeln;
writeln;
for i:=1 to n do
begin
ab[i]:=0;
for j:=1 to n do
ab[i]:=ab[i]+a[i,j]*b[j];
end;
writeln('Вектор Ab=А*B:');
for i:=1 to n do
writeln(ab[i]);
readln
end.
AirC вне форума Ответить с цитированием
Старый 18.05.2014, 16:15   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Должно быть что-то вроде этого, проверяйте..
Код:
#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>

#define MAX 20

int main() {
	int A[MAX][MAX] = {0};
	int B[MAX] = {0};
	int AB[MAX] = {0};
	int i, j;
	int n;
	
	system("chcp 1251 > nul");
	printf("\n Размер матрицы и вектора от 1 до %d: ", MAX);
	scanf("%d", &n);
	
	printf("\n Матрицы A:\n ----------\n");
	for(i = 0; i < n; i++) {
		for(j = 0; j < n; j++) {
			A[i][j] = 1 + rand() % 10;
			printf(" [%2d]", A[i][j]);
		}
		printf("\n");
	}

	printf("\n Вектор B:\n ---------\n");
	for(i = 0; i < n; i++) {
		B[i] = 1 + rand() % 10;
		printf(" [%2d]", B[i]);	
	}
	printf("\n");

	for(i = 0; i < n; i++) {
		AB[i] = 0;
		for(j = 0; j < n; j++) {
			AB[i] = AB[i] + (A[i][j] * B[i]);
		}
	}
	
	printf("\n Вектор AB = A * B:\n ------------------\n");
	for(i = 0; i < n; i++) {
		printf(" [%d]", AB[i]);	
	}
	printf("\n");
	return 0;
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 18.05.2014, 16:59   #3
AirC
Пользователь
 
Регистрация: 25.04.2014
Сообщений: 11
По умолчанию

А как сделать чтобы элементы вводить самому?
AirC вне форума Ответить с цитированием
Старый 18.05.2014, 20:07   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Код:
for(j = 0; j < n; j++) {
	scanf("%d", A[i][j]);
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 19.05.2014, 12:08   #5
AirC
Пользователь
 
Регистрация: 25.04.2014
Сообщений: 11
По умолчанию

и для вектора?
AirC вне форума Ответить с цитированием
Старый 19.05.2014, 12:30   #6
AirC
Пользователь
 
Регистрация: 25.04.2014
Сообщений: 11
По умолчанию

Всё спасибо разобрался,а не могли бы подсказать строки для считывания суммы положительных элементов в конце?
AirC вне форума Ответить с цитированием
Старый 19.05.2014, 13:07   #7
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Вы сами то пытались что-нибудь сделать?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 19.05.2014, 14:29   #8
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Код:
int count = 0;
...
...
printf("\n Вектор AB = A * B:\n ------------------\n");
	for(i = 0; i < n; i++) {
		printf(" [%d]", AB[i]);
      	        if(AB[i] > 0)
                          count++;
	}

printf("\n Количество положительных элементов: %d\n", count);
Вот так????
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 19.05.2014, 18:42   #9
AirC
Пользователь
 
Регистрация: 25.04.2014
Сообщений: 11
По умолчанию

Уже сделал) но все равно большое спасибо!
AirC вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевести с Паскаля на Си lyubov17 Помощь студентам 0 10.12.2013 21:11
Перевести из паскаля на делфи serega55 Помощь студентам 3 13.05.2012 21:22
перевести из паскаля на с++ екатерина новикова Общие вопросы C/C++ 1 19.12.2011 19:21
перевести из паскаля в си++ екатерина новикова Помощь студентам 0 19.12.2011 19:02