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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2013, 20:11   #1
Artur2048
Новичок
Джуниор
 
Регистрация: 01.12.2013
Сообщений: 1
По умолчанию исправить ошибку в задачке на языке Си

Прошу помочь исправить программу на языке Cи c использованием динамической памяти. Массив А из n и В из m элементов. Определить содержится ли наибольший элемент массива А в массиве В.
( C++ bulder 6).

Вот код:
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
int *a, *b, max_num;
int n, m, i,j;
	Printf("Vvedite razmer massiva A ");
	scanf("%d",&n);
	Printf("Vvedite razmer massiva B ");
	scanf("%d",&m);
        a=(int*) malloc(sizeof(n));
        b=(int*) malloc(sizeof(m));
        Printf("Vvedite elementi massiva A\n");
	for(i=1; i<n; i++)
	{
          printf("vvedite hisla a[%d]",i);
          scanf("%d",&a[i]);
	}
     Printf("Vvedite elementi massiva B\n");
	for(j=0; j<m; j++)
	{
		 printf("vvedite hisla b[%d]",j);
		scanf("%d",&b[j]);
	}

         max_num=a[0];
          for(i=1; i<n; )
            {
           if (a[i]>max_num)
           max_num=a[i];
            }

           for(j=1; j<m; )
           {
            if (b[j]==max_num)
            printf("Da\n");
             else
              printf("net");
          }

          free(a); free(b);
          getch();
          return 0;
         }

Последний раз редактировалось Artur2048; 01.12.2013 в 20:25.
Artur2048 вне форума Ответить с цитированием
Старый 02.12.2013, 05:57   #2
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
int *a, *b, max_num;
int n, m, i,j;
	printf("Vvedite razmer massiva A ");
	scanf("%d",&n);
	printf("Vvedite razmer massiva B ");
	scanf("%d",&m);
        a=(int*) malloc(sizeof(n));
        b=(int*) malloc(sizeof(m));
        printf("Vvedite elementi massiva A\n");
	for(i=0; i<n; i++)
	{
          printf("vvedite hisla a[%d]",i+1);
          scanf("%d",&a[i]);
	}
    printf("Vvedite elementi massiva B\n");
	for(j=0; j<m; j++)
	{
		 printf("vvedite hisla b[%d]",j+1);
		scanf("%d",&b[j]);
	}

         max_num=a[0];
          for(i=0; i<n;i++ )
          	if (a[i]>max_num)
           		max_num=a[i];
            i=0;
           for(j=0; j<m;j++ )
           	if (b[j]==max_num)
            {
            printf("Da\n");i=1;
            break;
            }
            if(i==0)printf("NET\n");
         free(a); free(b);
         getch();
          return 0;
         }
жестко напутано с индексацией массивов!то с 0, то с 1.
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно написать код к задачке на языке с++ Irinka_23 Помощь студентам 0 13.05.2012 12:09
Исправить ошибку imworld Помощь студентам 1 20.02.2012 19:54
исправить ошибку Дмитрий Solov Паскаль, Turbo Pascal, PascalABC.NET 1 03.12.2011 13:26
С# Исправить ошибку PROkaZZZniK Помощь студентам 3 20.11.2011 22:49