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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2017, 15:34   #1
Maksim__
Новичок
Джуниор
 
Регистрация: 03.11.2017
Сообщений: 1
По умолчанию [C] Даны две последовательности целых чисел одинаковой длины N. Требуется вычислить их скалярное произведение S [C]

Даны две последовательности целых чисел одинаковой длины N.
Требуется вычислить их скалярное произведение S.

язык С помогите вот мой код
что не так?

Код:
int main()
{
   int N,i,a,j;
   int *A;
   int *B;



   freopen("input.txt","r",stdin);
   freopen("output.txt","w",stdout);

   A=(int*)malloc(1000000*sizeof(int));


   B=(int*)malloc(1000000*sizeof(int));



   scanf("%d",&N);

   i=0;

   for(i=0;i<N;i++)
   {
       scanf("%d",&a);
       A[i]=a;
   }

   for(i=0;i<N;i++)
   {
       scanf("%d",&a);
       B[i]=a;
   }

   for(i=0;i<N;i++)
   {

       A[i]=A[i]*B[i];

   }
j=i+1;
   for(i=0;i<N;i++)
   {
         B[i]=A[i] + A[j];

   }
   for(i=0;i<=N;i++)
   {
       printf("%d",B[i]);
   }

    return 0;
}
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 03.11.2017 в 15:37.
Maksim__ вне форума Ответить с цитированием
Старый 03.11.2017, 18:05   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Код:
#include<stdlib.h>
#include<stdio.h>

int main()
{
	int N, i, s;
	int *A;
	int *B;

	printf("Vvod N= ");
    scanf("%d", &N);

	A = (int*)malloc(N * sizeof(int));
	B = (int*)malloc(N * sizeof(int));
	
	// ввод A[i]
	printf("\n");
	for (i = 0; i<N; i++)
	{
		printf("A[%d]= ", i + 1);
		scanf("%d", &A[i]);
	}

	// ввод В[i]
	printf("\n");
	for (i = 0; i<N; i++)
	{
		printf("B[%d]= ", i + 1);
		scanf("%d", &B[i]);
	}
	
	// рассчёт s= a1*b1+ a2*b2+....
	s = 0;
	for (i = 0; i<N; i++)
	{
		s=s+ A[i] * B[i];
	}

	// вывод s
	printf("\n");
	printf("s= %d", s);

	scanf("%d", &s); // чтобы консоль не закрывалась быстро
	return 0;
}
ura_111 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны две последовательности.Образовать из них новую последовательность чисел так, чтобы она тоже была неубывающей. OlgaRostov Общие вопросы .NET 2 09.12.2015 18:43
Дано N действительных чисел. Вычислить произведение тех членов последовательности, для которых выполнено условие... c@rtman Паскаль, Turbo Pascal, PascalABC.NET 1 12.06.2015 15:36
Даны два целых числа A и B (A < B). Найти произведение всех целых чисел от A до B включительно. nadyaH Помощь студентам 10 29.10.2013 09:08
Даны две последовательности чисел.PASCAL. NIKALEX1995 Помощь студентам 1 20.12.2012 10:46
Даны два слова одинаковой длины. Присвоить переменной К число, равное количеству попарно одинаковых букв. dimon_home Паскаль, Turbo Pascal, PascalABC.NET 1 16.06.2009 08:31