Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C] Сколько раз число


Автор: _mortar89 3.3.2007, 16:54
Народ подскажите, как исправить, что программа работала правильно, осталось только сделать чтоб для каждого числа выводилось сколько раз оно встречается в массиве.
вот текст:
Код

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

 int a[100];

 main(void) {
 int i,j;
 int b,c,n,M;
 printf("Input M:");
 scanf("%d", &M);
  randomize();

  for (i=0; i<M; a[i++]=random(M) );
  printf("\n Start massiv: \n");
  for (i=0; i<M; printf("%3d  ",a[i++]));


  for(i=0; i<M-1; i++)
    for(j=i+1; j<M; j++)
    if(a[i]<a[j])
    {b=a[i];
    a[i]=a[j];
    a[j]=b;
    }

  printf("\n Edited massiv: \n");
  for (i=0; i<M; printf("%3d  ", a[i++]) );

       n=0;
        for (i=0; i<M; i++){
         for(j=0;j<M; j++){
         if(a[i]==a[j] || a[i]<M)
        {n++; printf("%3d%3d", a[i], n);}
   }
}
  getch();
   return 0;




Автор: Dov 3.3.2007, 18:23
Меняем последние строки на это
Код
 
   printf("\n Edited massiv: \n");
    for(i = 0; i < M; i++)
        printf("%3d  ", a[i]);

    puts("\n\n Result: ");
    
    for(i = 0; i < M; i++)
    {
        n = i;        
        for(j = n + 1; a[j] == a[n]; i++, j++) ;

        printf("%3d =%3d\n", a[n], j - n);
    }

Автор: _mortar89 3.3.2007, 19:29
Спасибо! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)