Форум - Программирование
Форум

Форум (http://barca.ru/forum/index.php)
-   Hi-tech (http://barca.ru/forum/forumdisplay.php?f=40)
-   -   Программирование (http://barca.ru/forum/showthread.php?t=976)

Catala 13.04.2012 20:00

Цитата:

Сообщение от К@t@LoNeЦ
не понял, где именно?

for (i=1;1<=k;i++)

Цитата:

Сообщение от К@t@LoNeЦ
как мне тогда без k номер максимального элемента то узнать?

Цикл сверху меняешь на for (i=1; mass[i] < max ; i++). И пробелы не забываем...


Цитата:

Сообщение от К@t@LoNeЦ
может и так, только нам пока так говорят заполнять динаический массив

delete делается после завершения работы с массивом. Делать подряд new и delete не имеет вообще никакого смысла. Это как построить дом только чтобы его взорвать сразу после укладки последнего кирпича.

К@t@LoNeЦ 13.04.2012 20:18

Catala, все исправил, только все равно до бесконечности считает
Вот что получилось:

PHP код:

#include <conio.h> 
#include <math.h> 
#include <stdio.h> 
void main() 

     
    
int max,n,k,i
    
printf("vvedite razmernost "); 
    
scanf_s("%d",&n); 
    
int *mass = new int[n]; 
     
    for (
i=1;i<=n;i++)    
    { 
          
printf("vveite chislo "); 
          
scanf_s("%d",&mass[i]); 
    } 

    
max=mass[1]; 
    
     
    for (
i=2;i<=n;i++) 
      { 
          if (
mass[i]>max
             {  
                 
max=mass[i]; 
             } 
           
      } 

     for (
i=1;mass[i]<max;i++)
    { 
        if (
32000%i==0
             { 
                 
mass[i]=mass[i]*max
             } 
    } 

    for (
i=1;1<=n;i++) 
    { 
        
printf("mass[i] =%lf",mass[i]); 
    } 

    
getch(); 





после того как ввожу последний элемент, бесколенчно пишет "mass[i] = 0.000000".
Ничего не поменялось

Catala 13.04.2012 20:25

PHP код:

#include <conio.h>  
#include <math.h>  
#include <stdio.h>

void main()  
{  
      
    
int maxnki;  
    
    
printf("vvedite razmernost ");  
    
scanf("%d", &n);  
    
    
int mass = new int[n];  
      
    for (
0ni++)     
    {  
          
printf("vveite chislo ");  
          
scanf("%d", &mass[i]);  
    }  

    
max=mass[1];  
     
    for (
2ni++)  
    {  
        if (
mass[i] > max)  
        {   
            
max mass[i];  
        }  
            
    }  

    for (
0mass[i] < max i++) 
    {  
        if ((
2) == 0)  
        {  
            
mass[i] = mass[i] * max;  
        }  
    }  

    for (
0ni++)  
    {  
        
printf("mass[%d] = %d\n"imass[i]);  
    }  

    
getch();  



Catala 13.04.2012 20:34

Только в конце delete не забудь.

Цитата:

Сообщение от К@t@LoNeЦ
по идее если i - четное, то он должен делить без остатка 32000 ( к примеру)

А, ну и это разумеется является грубой ошибкой.

К@t@LoNeЦ 18.04.2012 12:06

Дана матрица размерности nxn. Получить одномерный массив, хранящий сумму элементов нисходящих диагоналей матрицы.

Вылазиют две одинаковые ошибки:

" error C2440: =: невозможно преобразовать 'int *' в 'int' "

ошибки в обоих циклах в моменте:

s=s+a[m,p];


Программа:


PHP код:

#include <conio.h>
#include <math.h>
#include <stdio.h>
void main()
{

    
int i,j,n,m,p,k,s;

    
int = new int[n];
    

    
int a[255][255];
    
printf("vvedite razmer massiva");
    
scanf_s("%d",&n);
    
    
printf("vvedite eliment");

        for(
i=0i<ni++)
    {
        for(
j=0j<nj++)
        {
            
scanf_s("%d",&a[i][j]);
        }
    }

   
    
s=0;
           
p=0;
    
m=0;
    
k=1;

    
i=n;
    
j=1;

    while (
i>=1)
    {
        
m=i;
        
p=j;
        while (
m<=|| p<=n)
        {
            
s=s+a[m,p];
            
m++;
            
p++;
        }

        
b[k]=s;
        
s=0;
        
k++;
        
i--;
    }

    
i=1;
    
j=2;

    while (
j<n)
    {
        
m=i;
        
p=j;
        while (
m<=|| p<=n)
        {
            
s=s+a[m,p];
            
m++;        
            
p++;
        }
        
b[k]=s;
        
s=0;
        
k++;
        
j++;
    }

    for (
0in-1i++);
    {
        
printf("%d=b[i]"b[i]);
    }

    
getch();





Помогите исправить ошибки

Catala 18.04.2012 12:34

В C a[m][p], а не a[m, p].

К@t@LoNeЦ 18.04.2012 14:40

Вложений: 1
другая проблема:

присваивает значению s левые числа, а не s=s+a[m][p] как надо

и в конце не выводит одномерный массив b[2*n-1]

2*n-1 - это количество нужных диагоналей

PHP код:

#include <conio.h>
#include <math.h>
#include <stdio.h>
void main()
{

    
int i,j,n,m,p,k,s;

    
    

    
int a[255][255];

    
printf("vvedite razmer massiva ");
    
scanf_s("%d",&n);
    
    

    for(
i=0i<ni++)
    {
        for(
j=0j<nj++)
        {
            
printf("a[i,j] ");
            
scanf_s("%d",&a[i][j]);
        }
    }

    for(
i=0i<ni++)
    {
    
        for(
j=0j<nj++)
        {
            
printf("%d "a[i][j]);
        }
        if (
j=n)
        {
            
printf("\n");
        }
    }

    
printf("\n");

    
int = new int[(2*n)-1];
    
    
s=0;
    
p=0;
    
m=0;
    
k=1;

    
i=n;
    
j=1;

    while (
i>=1)
    {
        
m=i;
        
p=j;
        while (
m<=|| p<=n)
        {
            
s=s+a[m][p];
            
printf("%d\n "s);
            
m++;
            
p++;
        }

        
b[k]=s;
        
printf("%d\n "b[k]);
        
s=0;
        
k++;
        
i--;
    }

    
s=0;
    
i=1;
    
j=2;

    
printf("Vtoroy czickl\n ");

    while (
j<=n)
    {
        
m=i;
        
p=j;
        while (
m<=|| p<=n)
        {
            
s=s+a[m][p];
            
printf("%d\n "s);
            
m++;        
            
p++;
        }
        
b[k]=s;
        
printf("%d\n "b[k]);
        
s=0;
        
k++;
        
j++;
    }

    for (
1k<2*n-1k++);
    {
        
printf("b[k]=");
        
printf("%d\n"b[k]);
    }

    
getch();



Вот что выводит(рис). А должно быть : b[k]=3, b[k]=5, b[k]=2

Catala 18.04.2012 14:46

Что такое нисходящие диагонали?

К@t@LoNeЦ 18.04.2012 14:47

Catala, все диагонали параллельные главной ( включая саму главную)

Catala 18.04.2012 14:49

Кстати, вам серьезно за такой стиль сразу 0 не ставят?


06 апреля 2025 года. Воскресенье - 18:30 (Часовой пояс GMT +4).

Русский vBulletin v3.5.2, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Перевод сделал zCarot