C/C++

  • Креатор на темата Креатор на темата Драган
  • Време на започнување Време на започнување
Епа вака: ако внесеш m=4, n=5, програмата ќе го пресмета ова: 1^4+2^4+3^4+4^4+5^4. Со надворешниот for циклус се пресметува ова.
Понатаму: i=1, p=1. Со внатрешниот for циклус ги пресметуваш степените одделно. 1 на било кој степен е 1. За 2, i=2, со командата p*=i и for-от со ј ќе ти пресмета 2^m, итн.
Значи со p го пресметуваш секој член одделно, а со ј користиш бројач.
 
Дали некој може да ми помогни со следната задача бидејќи незнам како да ја решам
Кодирање на текст според даден клуч
Програма во која преку мени ќе се одбира дали внесен стринг ќе се кодира или декодира. Кодирањето и декодирањето да се решат со две функции.
Клучот на кодирање: Во текстот да се користат само букви од азбука и цифри. секоја буква се заменува со буква која е 3 места после неа во абецедата. Последните три букви X,Y,Z се заменуваат респективно со A,B,C. Секоја цифра се заменува социфра која доаѓа 3 места после неа
( 0 со 3; 1 со 4...итн). Последните три цифри се заменуваат следтствено со * ? ! .
Задачата да се тестира со два стринга. Прво да се кодира потоа кодираната верзија да се декодира.
 
Дали некој може да ми помогни со следната задача бидејќи незнам како да ја решам
Кодирање на текст според даден клуч
Програма во која преку мени ќе се одбира дали внесен стринг ќе се кодира или декодира. Кодирањето и декодирањето да се решат со две функции.
Клучот на кодирање: Во текстот да се користат само букви од азбука и цифри. секоја буква се заменува со буква која е 3 места после неа во абецедата. Последните три букви X,Y,Z се заменуваат респективно со A,B,C. Секоја цифра се заменува социфра која доаѓа 3 места после неа
( 0 со 3; 1 со 4...итн). Последните три цифри се заменуваат следтствено со * ? ! .
Задачата да се тестира со два стринга. Прво да се кодира потоа кодираната верзија да се декодира.

Еве функција за кодирање, за декодирање обиди се ти.
Код:
string kodiranje(string vlez)
{
       
       for(int i = 0; i < vlez.length(); i++)
       {
               if((vlez[i] >='X' && vlez[i] <='Z') || (vlez[i] >='x' && vlez[i] <='z'))
               {
                          vlez[i] = (char)((int)vlez[i] - 23);
               }
               else
               {
                   if(vlez[i]>='A' && vlez[i]<='z')
                   vlez[i] = (char)((int)vlez[i]+3);
               }
               if(vlez[i] >= '0' && vlez[i]<='9')
               {
                         
                                      if(vlez[i] == '7')
                                      vlez[i] ='*';
                                      else
                                      if(vlez[i] == '8')
                                      vlez[i] = '?';
                                      else
                                      if(vlez[i] == '9')
                                      vlez[i] = '!';
                                      else
                                      vlez[i] = (char)((int)vlez[i]+3);
              }
              
       }
       return vlez;
               
}
 
фала за трудот
бидејќи сум почетник декодирање е обратен процес од кодирање?
 
Се обидов нешто да сменам но не го разбирам баш начинот на кој треба да се реши
Код:
string dekodiranje(string vlez)
{
       
       for(int i = 0; i < vlez.length(); i--)
       {
            [COLOR=red]   if((vlez[i] >='X' && vlez[i] <='Z') || (vlez[i] >='x' && vlez[i] <='z'))
               {
                          vlez[i] = (char)((int)vlez[i] - 23);
               }
               else
               {
                   if(vlez[i]>='A' && vlez[i]<='z')
                   vlez[i] = (char)((int)vlez[i]-3);
               }
               if(vlez[i] >= '0' && vlez[i]<='9')[/COLOR]
               {
                         
                                      if(vlez[i] == '*')
                                      vlez[i] ='7';
                                      else
                                      if(vlez[i] == '?')
                                      vlez[i] = '8';
                                      else
                                      if(vlez[i] == '!')
                                      vlez[i] = '9';
                                      else
                                      vlez[i] = (char)((int)vlez[i]-3);
              }
              
       }
       return vlez;
               
}
редовите што се со црвено не знам на кој начин да ги променам за обратен редослет
 
Се обидов нешто да сменам но не го разбирам баш начинот на кој треба да се реши
Код:
string dekodiranje(string vlez)
{
       
       for(int i = 0; i < vlez.length(); i--)
       {
            [COLOR=red]   if((vlez[i] >='X' && vlez[i] <='Z') || (vlez[i] >='x' && vlez[i] <='z'))
               {
                          vlez[i] = (char)((int)vlez[i] - 23);
               }
               else
               {
                   if(vlez[i]>='A' && vlez[i]<='z')
                   vlez[i] = (char)((int)vlez[i]-3);
               }
               if(vlez[i] >= '0' && vlez[i]<='9')[/COLOR]
               {
                         
                                      if(vlez[i] == '*')
                                      vlez[i] ='7';
                                      else
                                      if(vlez[i] == '?')
                                      vlez[i] = '8';
                                      else
                                      if(vlez[i] == '!')
                                      vlez[i] = '9';
                                      else
                                      vlez[i] = (char)((int)vlez[i]-3);
              }
              
       }
       return vlez;
               
}
редовите што се со црвено не знам на кој начин да ги променам за обратен редослет

Еве ја функцијата за декодирање.

Код:
string dekodiranje(string vlez)
{
       for(int i = 0; i < vlez.length(); i++)
       {
               if((vlez[i] >='A' && vlez[i] <='C') || (vlez[i] >='a' && vlez[i] <='c'))
               {
                          vlez[i] = (char)((int)vlez[i] + 23);
               }
               else
               {
                   if(vlez[i]>='A' && vlez[i]<='z')
                   vlez[i] = (char)((int)vlez[i]-3);
               }
                if(vlez[i] >= '3' && vlez[i]<='9')
                {
                         vlez[i] = (char)((int)vlez[i]-3);
                }
                                      if(vlez[i] == '*')
                                      vlez[i] ='7';
                                      else
                                      if(vlez[i] == '?')
                                      vlez[i] = '8';
                                      else
                                      if(vlez[i] == '!')
                                      vlez[i] = '9';
               }
               return vlez;
       }
 
Ќе биде некој доволно мил и добар да ги реши овие 3 задачи:

1. НАПИШЕТЕ ЈА ПРОГРАМАТА:
Напишете програма која во низа од N внесени броеви (N се внесува од
тастатура), ќе го најде почетокот и крајот на најдолгата растечка подниза.

2. НАПИШЕТЕ ЈА ПРОГРАМАТА:
Напишете програма која што за низа од N броеви ќе проверува дали бројот
формиран од парот соседни броеви е прост број и ќе го испечати.
Пример: За низата: 1 7 4 0 8 21, 17 е прост број, 74 не е прост број, 40 не е
прост број, 08 = 8 не е прост број, 821 е прост број.

3. НАПИШЕТЕ ЈА ПРОГРАМАТА:
Напишете програма која за низа од N елементи внесена од тастатура ќе ги
исфрли оние кои се поголеми од 100. На крајот да се испечати новодобиената
низа. (забелешка: да не се работи со помошна низа, т.е. треба да се менува
внесената низа)
 
3. НАПИШЕТЕ ЈА ПРОГРАМАТА:
Напишете програма која за низа од N елементи внесена од тастатура ќе ги
исфрли оние кои се поголеми од 100. На крајот да се испечати новодобиената
низа. (забелешка: да не се работи со помошна низа, т.е. треба да се менува
внесената низа)

Код:
#include <stdio.h>
#include <ctype.h>
#define MAX 50

int main()
{
    int i, a[MAX], n;
    printf("Kolku broja ke vnesete?\n");
    scanf("%d", &n);
    for(i=0;i<n;i++)
     {
                    printf("a[%d]= ",i);
                    scanf("%d",&a[i]);
     }
     for(i=0;i<n;i++)
      {
                     if(a[i]>100) a[i]=a[i+1];
                     else printf("%d\t",a[i]);
      }
      printf("\n");
      system("pause");
      return 0;
}
 

Kajgana Shop

Back
На врв Bottom