Jump to content
SirSmart

Sistema

Recommended Posts

Galera estou començando em C e preciso fazer um sisteminha para pegar bem os conceitos.

alguém tem alguma ideia ou artigo do que posso fazer, alguém poderia me ajudar com isso por favor?

 

Obrigado

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By christin cley
      Construir um algoritmo em C++ que preencha um matriz quadrada de tamanho 4 pelo usuário. Após o preenchimento pelo usuário, verifique na diagonal principal qual foi o maior valor digitado e exiba na tela o valor. Por fim,  exiba na tela toda matriz em forma de matriz na tela.
    • By vinicius.benedito98
      Faça um Programa em Linguagem C que receba o nome e a nota de 180 alunos de uma sala e armazene em vetor. Calcule e mostre: 
      - A média da sala; 
      - O nome do aluno com a maior nota; 
      - O nome do aluno com a menor nota; 
      - Os nomes dos alunos aprovados;

      O meu código é esse :

      #define N 180 
      int main() { 
      int i, ind_maior, ind_menor; 
      float nota[N], soma=0, media, min_aprov=7; 
      char nome[N][50]; 
      for (i=0; i printf("Informe o nome do %dº aluno: ", i+1); 
      gets(nome); 
      printf("Informe a nota do %dº aluno: ", i+1); 
      scanf(" %d ", &nota); 
      soma += nota; 

      media = soma / N; 
      printf("\nMédia da sal: %.2f\n", media); 
      ind_menor = ind_maior = 0; 
      for (i=1; i if (nota < nota[ind_menor]) 
      ind_menor = i; 
      if (nota > nota[ind_maior]) 
      ind_maior = i; 

      printf("Menor nota: %s com %.2f\n", nome[ind_menor], nota[ind_menor]); 
      printf("Maior nota: %s com %.2f\n", nome[ind_maior], nota[ind_maior]); 
      printf("Aprovados:"); 
      for (i=0; i if (nota >= min_aprov) 
      printf("\t%s com: %.2f\n", nome, nota); 

      return 0; 
      }


      Porém quando vou executa-lo, o programa pede para inserir o nome e nota do aluno apenas uma vez, e fica por isso, ele não exibe os resultados, alguém pode me ajudar ?
    • By Vitor Dória
      Pessoal,estou fazendo uma serie de exercícios em c++ e to me batendo muito em um exercício aqui,poderiam me ajudar?
       
       
      Construir um algoritmo em C++ que preencha um matriz quadrada de tamanho 4 pelo usuário. Após o preenchimento pelo usuário, verifique na diagonal principal qual foi o maior valor digitado e exiba na tela o valor. Por fim,  exiba na tela toda matriz em forma de matriz na tela.
    • By matheusxds12
      Gostaria de saber qual o problema com o meu código pois ao compilar e executar ele simplesmente abre o DOS e fecha sem realizar nenhuma tarefa 
      #include <stdlib.h> #include <stdio.h> #include <locale.h> // aux1 = contador de coluna e aux2 = contador de linha int main () { setlocale(LC_ALL, "portuguese"); int m1, n1, m2, n2, matriz1[m1][n1], matriz2[m2][n2],matrizsoma[m1][n1],aux1,aux2,elemento,contadorlinha=0; printf("Entre com o número de linhas da 1ª matriz : "); scanf("%i",&m1); printf("Entre com o número de colunas da 1ª matriz : "); scanf("%i",&n1); printf("Entre com o número de linhas da 2ª matriz : "); scanf("%i",&m2); printf("Entre com o número de colunas da 2ª matriz : "); scanf("%i",&n2); if ((m1==m2) && (n1==n2)){ for (aux2 = 0;aux2<m1;aux2++){ for (aux1=0;aux1<n1;aux1++){ contadorlinha=aux1+1; printf("Matriz A:"); printf("Entre com os elementos um a um, separados por espaço da %iª linha: ",contadorlinha); scanf("%i",&elemento); matriz1[aux2][aux1]=elemento; } } for (aux2 = 0;aux2<m2;aux2++){ for (aux1=0;aux1<n2;aux1++){ contadorlinha=aux1+1; printf("Matriz B:"); printf("Entre com os elementos um a um, separados por espaço, da %iª linha: ",contadorlinha); scanf("%i",&elemento); matriz2[aux2][aux1]=elemento; } } for (aux2=0;aux2<m1;aux2++){ for(aux1=0;aux1<n1;aux1++){ matrizsoma[aux2][aux1]=matriz1[aux2][aux1]+matriz2[aux2][aux1]; } } printf("Matriz C = A + B:\n"); for (aux2=0;aux2<m1;aux2++){ for(aux1=0;aux1<n1;aux1++){ printf("%i",matrizsoma[aux2][aux1]); } printf("\n"); } } else{ printf("\nParâmetros das matrizes inválidos para a soma!\n"); printf("Ambas devem ter o mesmo número de linhas e colunas\n"); } system("pause"); return 0; }  
    • By ross
      Olá, estou tentando fazer um programa para o problema do caixeiro comprador exato (TPP ou PCCo) e, depois de fazer algumas pesquisas, eu encontrei o código a baixo e gostaria conseguir compilar e executar para comparar com a minha implementação. O problema é que não consigo compilar o código. Fica dando, esses erros(Também segue na foto):
      "
      /tmp/ccvk9cDb.o: Na função "work()":
      main.cpp:(.text+0x104e): relocação truncada para caber: R_X86_64_PC32 contra símbolo não definido "pop" na seção .bss em /tmp/ccvk9cDb.o
      main.cpp:(.text+0x106e): relocação truncada para caber: R_X86_64_PC32 contra símbolo não definido "pop" na seção .bss em /tmp/ccvk9cDb.o
      main.cpp:(.text+0x1152): relocação truncada para caber: R_X86_64_PC32 contra símbolo não definido "pop" na seção .bss em /tmp/ccvk9cDb.o
      main.cpp:(.text+0x12b4): relocação truncada para caber: R_X86_64_PC32 contra símbolo não definido "pop" na seção .bss em /tmp/ccvk9cDb.o
      /tmp/ccvk9cDb.o: Na função "__static_initialization_and_destruction_0(int, int)":
      main.cpp:(.text+0x1526): relocação truncada para caber: R_X86_64_PC32 contra ".bss"
      main.cpp:(.text+0x1539): relocação truncada para caber: R_X86_64_PC32 contra ".bss"
      collect2: error: ld returned 1 exit status
       
      "
       
       
      Esse é o código:
      //////////////////////////////////////////////////////////////////////////////////////////////
      #include <iostream>
      #include <cstdio>
      #include <cstring>
      #include <cstdlib>
      #include <cmath>
      #include <algorithm>
      #include <queue>
      #include <map>
      #include <set>
      #include <vector>
      #include <string>
      #include <stack>
      #include <bitset>
      #include"instance_access.h"
      #define INF 0x3f3f3f3f
      #define eps 1e-8
      #define FI first
      #define SE second
      using namespace std;
      typedef long long ll;
      const int MaxM = 25, MaxK = 700;
      int M, K, Q;
      int G[MaxM + 5][MaxM + 5];
      int P[MaxM + 5][MaxK + 5];
      int C[MaxM + 5];

      void read(char *p,int m,int k,int d,int h)
      {
          //scanf("%d%d", &M, &K);
         int* _graph;
          int* _price;
          //_graph->printMatrix();
          //cout<<endl;
          //_price->printMatrix();
          //cout<<endl;
          get_instance_largek(_graph,_price,m,k,p);
          //cout<<endl;
          for(int i=0;i<m;++i)
          {
              for(int j=0;j<m;++j)
              {
                  int temp=_graph[i*m+j];
                  //cout<<temp<<" ";
                  *(G + j)=temp;
              }
              //cout<<endl;
          }
          //cout<<endl;
          for(int i=0;i<m;++i)
          {
              for(int j=0;j<k;++j)
              {
                  int temp=_price[i*k+j];
      //            cout<<temp<<" ";
                  *(P + j)=temp;
              }
      //        cout<<endl;
          }
          M=m;
          K=k;
          Q=h;
          for(int i=1;i<m;++i)
          {
              C=d;
          }
      }
      inline void ck(int &x, int v) {
          if(x > v) x = v;
      }
      int head[MaxM + MaxK + 10];
      struct Edge {
          int nxt, to, cow, cost;
          Edge() {}
          Edge(int nxt, int to, int cow, int cost) : nxt(nxt), to(to), cow(cow), cost(cost) {}
      } ed[100000];
      int ecnt, mx_flow, mi_cost;
      void init() {
          mx_flow = mi_cost = ecnt = 0;
          memset(head, -1, sizeof(head));
      }
      void addedge(int u, int v, int cow, int cost) {
          ed[ecnt] = Edge(head, v, cow, cost);
          head = ecnt ++;
          ed[ecnt] = Edge(head[v], u, 0, -cost);
          head[v] = ecnt ++;
      }
      queue <int> q;
      int dis[MaxK + MaxM + 10], pre[MaxK + MaxM + 10], inq[MaxK + MaxM + 10];
      bool Spfa(int S, int T) {
          memset(dis, 0x3f, sizeof(dis));
          dis = 0;
          q.push(S);
          while(!q.empty()) {
              int u = q.front(); q.pop();
              inq = 0;
              for(int e = head; ~e; e = ed[e].nxt) {
                  if(!ed[e].cow) continue;
                  int v = ed[e].to;
                  if(dis[v] > dis + ed[e].cost) {
                      dis[v] = dis + ed[e].cost;
                      pre[v] = e;
                      if(!inq[v]) {
                          inq[v] = 1;
                          q.push(v);
                      }
                  }
              }
          }
          return dis[T] != INF;
      }
      void End(int S, int T) {
          int flow = INF;
          for(int u = T; u != S; u = ed[pre ^ 1].to) {
              flow = min(flow, ed[pre].cow);
          }
          for(int u = T; u != S; u = ed[pre ^ 1].to) {
              ed[pre].cow -= flow;
              ed[pre ^ 1].cow += flow;
              mi_cost += flow * ed[pre].cost;
          }
          mx_flow += flow;
      }
      int minPrice(int s) {
          init();
          int src = 0, dec = M + K+1;
          for(int i = 1; i < M; ++ i) {
              if(~s >> i & 1) continue;
              addedge(src, i, C, 0);
              for(int k = 0; k < K; ++ k) {
                  if(P[k] == 0) continue;
                  addedge(i, M + k+1, 1, P[k]);
              }
          }
          for(int i = 1; i <= K; ++ i) {
              addedge(M + i, dec, 1, 0);
          }
          while(Spfa(src, dec)) End(src, dec);
          if(mx_flow != K) return -1;
          return mi_cost;
      }
      int dp[MaxM + 1][1 << MaxM];
      int pop[1 << MaxM];
      void work() {
          int U = 1 << M;
          for(int i = 1; i < U; ++ i) {
              pop = pop[i >> 1] + (i & 1);
          }
          for(int i = 1; i < M; ++ i) {
              for(int j = 0; j < U; ++ j) {
                  dp[j] = INF;
              }
          }
          for(int i = 1; i < M; ++ i) {
              dp[1 << i] = G[0];
          }
          for(int s = 1; s < U; ++ s) {
              if(pop >= Q) continue;
              for(int i = 1; i < M; ++ i) {
                  if(dp == INF) continue;
                  for(int j = 1; j < M; ++ j) {
                      if(s >> j & 1) continue;
                      ck(dp[j][s | (1 << j)], dp + G[j]);
                  }
              }
          }
          int ans = INF;
          for(int i = 0; i < U; ++ i) {
              if(pop > Q) continue;
              int f = minPrice(i);
              if(f == -1) continue;
              for(int j = 1; j < M; ++ j) {
                  if(dp[j] == INF) continue;
                  ck(ans, f + dp[j] + G[j][0]);
              }
          }
          printf("%d", ans);
      }
      int main(int argc,char *argv[]) {
          //arguments order: filename m k u q
          if(argc !=6)
          {
              cout<<"wrong number of arguments";
              return 1;
          }
          int m,k,u,q;
          m=atoi(argv[2]);
          k=atoi(argv[3]);
          u=atoi(argv[4]);
          q=atoi(argv[5]);
          read(argv[1],m,k,u,q);
          time_t begin,end;
          cout<<"optimal object value: ";
          begin=clock();
          work();
          end=clock();
          cout<<endl;
          cout<<"time: ";
          cout<<double(end-begin)/CLOCKS_PER_SEC<<endl;
          return 0;
      }
      //////////////////////////////////////////////////////////////////////////////////////////////
      ////////////////////////////////////"instance_acess.h"//////////////////////////////////////////////////////////
      #ifndef INSTANCE_ACCESS_H_INCLUDED
      #define INSTANCE_ACCESS_H_INCLUDED
      #include <string>
      #include <strstream>
      #include<iostream>
      #include<fstream>
      #include<string.h>
      using namespace std;
      int get_instance_largek(int *&graph, int *&product_distribution, int m,int k,char *p)
      {
          graph=new int[m*m];
          product_distribution=new int[m*k];
          for(int i=0;i<m;++i)
          {
              for(int j=0;j<m;++j)
              {
                  graph[i*m+j]=0;
              }
          }
          for(int i=0;i<m;++i)
          {
              for(int j=0;j<k;++j)
              {
                  product_distribution[i*k+j]=0;
              }
          }
          ifstream fin;
          fin.open(p);
          if(fin.is_open())
          {
              string s;
              while(fin>>s)
              {
                  if(s=="NODE_COORD_SECTION")
                  {
                      fin>>s;
                      int num;
                      double x[m];
                      double y[m];
                      for(int i=0;i<m;++i)
                      {
                          fin>>num;
                          fin>>x;
                          fin>>y;
                      }
                      for(int i=0;i<m;i++)
                      {
                          for(int j=0;j<m;j++)
                          {
                              double xd=x-x[j];
                              double yd=y-y[j];
                              int d=(int)(sqrt(xd*xd+yd*yd)+0.5);
                              graph[i*m+j]=d;
                          }
                      }
                  }
                  if(s=="OFFER_SECTION")
                  {
                      fin>>s;
                      int id;
                      int num=0;
                      for(int i=0;i<m;++i)
                      {
                          fin>>id;
                          fin>>num;
                          int product_id;
                          int cost;
                          int dem;
                          for(int j=0;j<num;++j)
                          {
                              fin>>product_id;
                              fin>>cost;
                              product_distribution[i*k+product_id-1]=cost;
                              fin>>dem;
                          }
                      }
                  }
              }
              return 1;
          }else{
           return 0;
          }
      }
      #endif // INSTANCE_ACCESS_H_INCLUDED
      //////////////////////////////////////////////////////////////////////////////////////////////
       

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.