Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- 2 #include <stdlib.h> //biblioteca para "system ("clear")"
- 3 #define SIZE_MATRIZ 20 //tamanho maximo de todas as matrizes
- 4 #define SIZE_VETOR 25 //tamanho maximo de todos os vetores
- 5
- 6 // CODIGO DE UMA CALCULADORA DE
- VETORES E MATRIZES
- 7
- 8
- 9 //FUNCOES QUE ZERAM A MATRIZ
- 10
- 11 float zeraMatriz (int tamanhoColunasPrimeiraMatriz, int tamanhoLinhasPrimeirr
- aMatriz, int tamanhoLinhasSegundaMatriz, int tamanhoColunasSegundaMatriz)
- 12 {
- 13 float resultadoMultiplicacao [SIZE_MATRIZ][SIZE_MATRIZ];
- 14 float resultadoTransposta [SIZE_MATRIZ][SIZE_MATRIZ];
- 15 float resultadoVetorIntercalado [SIZE_VETOR];
- 16 int indiceResultadoVetorIntercalado;
- 17 int indiceColunas;
- 18 int indiceLinhas;
- 19 int indiceGeral;
- 20
- 21 for (indiceColunas = 0; indiceColunas < tamanhoColunasPrimeiraMatriz; indicc
- eColunas++)
- 22 {
- 23 for (indiceLinhas = 0; indiceLinhas < tamanhoLinhasPrimeiraMatriz; indiceLL
- inhas++)
- 24 {
- 25 resultadoMultiplicacao[indiceLinhas][indiceColunas] = 0;
- 26 }
- 27 }
- 28
- 29 for (indiceColunas = 0; indiceColunas < tamanhoColunasSegundaMatriz; indicc
- eColunas++)
- 30 {
- 31 for (indiceLinhas = 0; indiceLinhas < tamanhoLinhasSegundaMatriz; indiceLL
- inhas++)
- 32 {
- 33 resultadoTransposta[indiceLinhas][indiceColunas] = 0;
- 34 }
- 35 }
- 36
- 37 return 0;
- 38 }
- 39
- 40 //FUNCOES QUE PREENCHEM TANTO VETOR QUANTO MATRIZ
- 41
- 42 float preenchePrimeiroVetor (float primeiroVetor [SIZE_VETOR], int tamanhoPP
- rimeiroVetor)
- 43 {
- 44 int indiceGeral;
- 45
- 46 for (indiceGeral = 0; indiceGeral < tamanhoPrimeiroVetor; indiceGeral++)
- 47 {
- 48 printf ("Diga os valores para completar o Primeiro Vetor:\n");
- scanf ("%f",&primeiroVetor[indiceGeral]);
- 50 }
- 51
- 52 return 0;
- 53 }
- 54
- 55 float preencheSegundoVetor (float segundoVetor [SIZE_VETOR], int tamanhoSegg
- undoVetor)
- 56 {
- 57 int indiceGeral;
- 58
- 59 for (indiceGeral = 0; indiceGeral < tamanhoSegundoVetor; indiceGeral++)
- 60 {
- 61 printf ("Diga os valores para completar o Segundo Vetor:\n");
- 62 scanf ("%f",&segundoVetor[indiceGeral]);
- 63 }
- 64
- 65 return 0;
- 66 }
- 67
- 68 float preenchePrimeiroVetorIntercalado (float primeiroVetorIntercalado [SIZZ
- E_VETOR], int tamanhoPrimeiroVetorIntercalado)
- 69 {
- 70 int indiceGeral;
- 71
- 72 do
- 73 {
- 74 for (indiceGeral = 0; indiceGeral < 8; indiceGeral++)
- 75 {
- 76 printf ("Diga os valores para completar o Primeiro Vetor que ser a Interr
- calado:\n");
- 77 scanf ("%f",&primeiroVetorIntercalado[indiceGeral]);
- 78 }
- 79 }while (indiceGeral != 8);
- 80
- 81 return 0;
- 82 }
- 83
- 84 float preencheSegundoVetorIntercalado (float segundoVetorIntercalado [SIZE__
- VETOR], int tamanhoSegundoVetorIntercalado)
- 85 {
- 86 int indiceGeral;
- 87
- 88 do
- 89 {
- 90 for (indiceGeral = 0; indiceGeral < 8; indiceGeral++)
- 91 {
- 92 printf ("Diga os valores para completar o Segundo Vetor que sera Ordenadd
- o:\n");
- 93 scanf ("%f",&segundoVetorIntercalado[indiceGeral]);
- 94 }
- 95 } while (indiceGeral != 8);
- 96
- 97 return 0;
- 98 }
- 100 float preenchePrimeiraMatriz (float primeiraMatriz [SIZE_MATRIZ][SIZE_MATRIZZ
- ],int tamanhoColunasPrimeiraMatriz, int tamanhoLinhasPrimeiraMatriz)
- 101 {
- 102 int indiceColunas;
- 103 int indiceLinhas;
- 104
- 105 for (indiceColunas = 0; indiceColunas < tamanhoColunasPrimeiraMatriz; indicc
- eColunas++)
- 106 {
- 107 for (indiceLinhas = 0; indiceLinhas < tamanhoLinhasPrimeiraMatriz; indiceLL
- inhas++)
- 108 {
- 109 printf ("Diga o valor para completar a %d Linha e %d Coluna da sua Primeii
- ra Matriz:\n", indiceColunas+1, indiceLinhas+1);
- 110 scanf ("%f",&primeiraMatriz[indiceLinhas][indiceColunas]);
- 111 }
- 112 }
- 113
- 114 return 0;
- 115
- 116 }
- 117
- 118 float preencheSegundaMatriz (float segundaMatriz [SIZE_MATRIZ][SIZE_MATRIZ],,
- int tamanhoColunasSegundaMatriz, int tamanhoLinhasSegundaMatriz)
- 119 {
- 120 int indiceColunas;
- 121 int indiceLinhas;
- 122
- 123 for (indiceColunas = 0; indiceColunas < tamanhoColunasSegundaMatriz; indicee
- Colunas++)
- 124 {
- 125 for (indiceLinhas = 0; indiceLinhas < tamanhoLinhasSegundaMatriz; indiceLii
- nhas++)
- 126 {
- 127 printf ("Diga o valor para completar a %d Linha e %d Coluna da sua Segundd
- a Matriz:\n", indiceLinhas + 1, indiceColunas + 1);
- 128 scanf ("%f",&segundaMatriz[indiceLinhas][indiceColunas]);
- 129 }
- 130 }
- 131
- 132 return 0;
- 133
- 134 }
- 135
- 136 //FUNCOES QUE PRINTAM TANTO VETOR QUANTO MATRIZ
- 137
- 138 float mostraPrimeiroVetor (float primeiroVetor [SIZE_VETOR], int tamanhoPrimm
- eiroVetor, int indiceGeral)
- 139 {
- 140
- 141 printf ("\t\t\t\t\nSeu Primeiro Vetor:\n");
- 142
- 143 for (indiceGeral = 0; indiceGeral < tamanhoPrimeiroVetor; indiceGeral++)
- 144 {
- printf ("[%.5f]\n",primeiroVetor[indiceGeral]);
- 146 }
- 147
- 148 return 0;
- 149
- 150 }
- 151
- 152
- 153 float mostraSegundoVetor (float segundoVetor [SIZE_VETOR], int tamanhoSegundd
- oVetor, int indiceGeral)
- 154 {
- 155
- 156 printf ("\t\t\t\t\nSeu Segundo Vetor:\n");
- 157
- 158 for (indiceGeral = 0; indiceGeral < tamanhoSegundoVetor; indiceGeral++)
- 159 {
- 160 printf ("[%.5f]\n",segundoVetor[indiceGeral]);
- 161 }
- 162
- 163 return 0;
- 164 }
- 165
- 166 float mostraPrimeiraMatriz (float primeiraMatriz [SIZE_MATRIZ][SIZE_MATRIZ],,
- int tamanhoColunasPrimeiraMatriz, int tamanhoLinhasPrimeiraMatriz)
- 167 {
- 168 int indiceColunas;
- 169 int indiceLinhas;
- 170
- 171 for (indiceColunas = 0; indiceColunas < tamanhoColunasPrimeiraMatriz; indicc
- eColunas++)
- 172 {
- 173 for (indiceLinhas = 0; indiceLinhas < tamanhoLinhasPrimeiraMatriz; indiceLL
- inhas++)
- 174 {
- 175 printf ("\t%.5f",primeiraMatriz[indiceLinhas][indiceColunas]);
- 176 }
- 177 printf ("\n");
- 178 }
- 179
- 180 return 0;
- 181 }
- 182
- 183 float mostraSegundaMatriz (float segundaMatriz [SIZE_MATRIZ][SIZE_MATRIZ], ii
- nt tamanhoColunasSegundaMatriz, int tamanhoLinhasSegundaMatriz)
- 184 {
- 185 int indiceColunas;
- 186 int indiceLinhas;
- 187
- 188 for (indiceColunas = 0; indiceColunas < tamanhoColunasSegundaMatriz; indicee
- Colunas++)
- 189 {
- 190 for (indiceLinhas = 0; indiceLinhas < tamanhoLinhasSegundaMatriz; indiceLii
- nhas++)
- 191 {
- 192 printf ("\t%.5f",segundaMatriz[indiceLinhas][indiceColunas]);
- }
- 194 printf ("\n");
- 195 }
- 196
- 197 return 0;
- 198 }
- 199
- 200 float mostraPrimeiroVetorIntercalado (float primeiroVetorIntercalado [SIZE_VV
- ETOR], int tamanhoPrimeiroVetorIntercalado, int indiceGeral)
- 201 {
- 202
- 203 printf ("\t\t\t\t\nSeu Primeiro Vetor a ser Intercalado:\n");
- 204
- 205 for (indiceGeral = 0; indiceGeral < 8; indiceGeral++)
- 206 {
- 207 printf ("[%.5f]\n",primeiroVetorIntercalado[indiceGeral]);
- 208 }
- 209 return 0;
- 210 }
- 211
- 212 float mostraSegundoVetorIntercalado (float segundoVetorIntercalado [SIZE_VETT
- OR], int tamanhoSegundoVetorIntercalado, int indiceGeral)
- 213 {
- 214
- 215 printf ("\t\t\t\t\nSeu Segundo Vetor a ser Intercalado:\n");
- 216
- 217 for (indiceGeral = 0; indiceGeral < 8; indiceGeral++)
- 218 {
- 219 printf ("[%.5f]\n",segundoVetorIntercalado[indiceGeral]);
- 220 }
- 221
- 222 return 0;
- 223 }
- 224
- 225 //FUNCOES DE OPERACOES DO MENU
- 226
- 227 //case 1 do Menu de Operacoes
- 228
- 229 float somaDoisVetores (float primeiroVetor [SIZE_VETOR], float segundoVetor
- [SIZE_VETOR], int tamanhoPrimeiroVetor, int tamanhoSegundoVetor, float resull
- tadoSoma [SIZE_VETOR])
- 230 {
- 231 int indiceGeral;
- 232
- 233 if (tamanhoPrimeiroVetor != tamanhoSegundoVetor)
- 234 printf ("Para realizar a soma, os tamanhos devem ser iguais\n");
- 235 else
- 236 for (indiceGeral = 0; indiceGeral < tamanhoPrimeiroVetor; indiceGeral++)
- 237 {
- 238 resultadoSoma[indiceGeral] = primeiroVetor[indiceGeral] + segundoVetor[indd
- iceGeral];
- 239 }
- 240
- 241 printf ("Resultado da soma dos dois Vetores:\n");
- 242 for (indiceGeral = 0; indiceGeral < tamanhoPrimeiroVetor; indiceGeral++)
- {
- 244 printf ("[%.5f]\n",resultadoSoma[indiceGeral]);
- 245 }
- 246
- 247
- 248 return 0;
- 249 }
- 250
- 251 //case 2 do Menu de Operacoes
- 252
- 253 int divisao (int usuarioNumero1, int usuarioNumero2)
- 254 {
- 255 int auxiliar1;
- 256 int contador;
- 257
- 258 contador = 0;
- 259 auxiliar1 = usuarioNumero1;
- 260
- 261 do{
- 262 auxiliar1 = auxiliar1 - usuarioNumero2;
- 263 contador = contador + 1;
- 264 } while (auxiliar1 >= usuarioNumero2);
- 265
- 266 printf ("Quociente: %d\n",contador);
- 267 printf ("Resto: %d\n",auxiliar1);
- 268
- 269 return 0;
- 270
- 271 }
- 272
- 273
- 274 //case 3 do Menu de Operacoes
- 275
- 276 int mmc (int num1, int num2, int resultado)
- 277 {
- 278 int resto;
- 279 int a;
- 280 int b;
- 281
- 282 a = num1;
- 283 b = num2;
- 284
- 285 do {
- 286 resto = a % b;
- 287
- 288 a = b;
- 289 b = resto;
- 290
- 291 } while (resto != 0);
- 292
- 293 resultado = (num1 * num2) / a;
- 294 printf ("Resultado do MMC: %d",resultado);
- 295
- 296 return 0;
- 297 }
- 299 // case 4 do Menu de Operacoes
- 300
- 301 int ordenaVetorInteiros (int terceiroVetor [SIZE_VETOR], int tamanhoTerceiroo
- Vetor)
- 302 {
- 303 int indice1TerceiroVetor;
- 304 int indice2TerceiroVetor;
- 305 int auxiliarOrdenacao;
- 306
- 307 for (indice1TerceiroVetor = 0; indice1TerceiroVetor < tamanhoTerceiroVetor;;
- indice1TerceiroVetor++)
- 308 {
- 309 for (indice2TerceiroVetor = 0; indice2TerceiroVetor < tamanhoTerceiroVetorr
- ; indice2TerceiroVetor++)
- 310 {
- 311 if (terceiroVetor[indice1TerceiroVetor] < terceiroVetor[indice2TerceiroVee
- tor])
- 312 {
- 313 auxiliarOrdenacao = terceiroVetor[indice1TerceiroVetor];
- 314 terceiroVetor[indice1TerceiroVetor] = terceiroVetor[indice2TerceiroVetorr
- ];
- 315 terceiroVetor[indice2TerceiroVetor] = auxiliarOrdenacao;
- 316 }
- 317 }
- 318 }
- 319
- 320 for (indice1TerceiroVetor = 0; indice1TerceiroVetor < tamanhoTerceiroVetor;;
- indice1TerceiroVetor++)
- 321 {
- 322 printf ("[%d]\n", terceiroVetor[indice1TerceiroVetor]);
- 323 }
- 324
- 325 return 0;
- 326 }
- 327
- 328 // case 5 do Menu de Operacoes
- 329
- 330 float multiplicacaoMatrizes (float primeiraMatriz[SIZE_MATRIZ][SIZE_MATRIZ],,
- float segundaMatriz[SIZE_MATRIZ][SIZE_MATRIZ], int tamanhoColunasPrimeiraMaa
- triz, int tamanhoLinhasPrimeiraMatriz, int tamanhoColunasSegundaMatriz, int
- tamanhoLinhasSegundaMatriz)
- 331 {
- 332
- 333 float resultadoMultiplicacao[SIZE_MATRIZ][SIZE_MATRIZ];
- 334 int auxiliarMultiplicacao;
- 335 int indiceColunasGeral;
- 336 int indiceLinhasGeral;
- 337 int indiceColunas;
- 338 int indiceLinhas;
- 339 int indiceGeral;
- 340
- 341 for (indiceColunas = 0; indiceColunas < tamanhoColunasPrimeiraMatriz; indii
- ceColunas++)
- 342 {
- for (indiceLinhas = 0; indiceLinhas < tamanhoLinhasPrimeiraMatriz; indicee
- Linhas++)
- 344 {
- 345 resultadoMultiplicacao[indiceLinhas][indiceColunas] = (primeiraMatriz[ii
- ndiceLinhas][indiceColunas] * segundaMatriz[indiceLinhas][indiceColunas]);
- 346 }
- 347 }
- 348
- 349 for (indiceColunas = 0; indiceColunas < tamanhoColunasPrimeiraMatriz; indii
- ceColunas++)
- 350 {
- 351 for (indiceLinhas = 0; indiceLinhas < tamanhoLinhasPrimeiraMatriz; indicee
- Linhas++)
- 352 {
- 353 printf ("\t%.5f",resultadoMultiplicacao[indiceLinhas][indiceColunas]);
- 354 }
- 355 printf ("\n");
- 356 }
- 357
- 358 return 0;
- 359 }
- 360
- 361 float mediaVetor (float primeiroVetor [SIZE_VETOR], float segundoVetor [SIZZ
- E_VETOR], float vetorMedia [SIZE_VETOR], int tamanhoPrimeiroVetor, int mediaa
- TotalVetor)
- 362 {
- 363
- 364 int indice;
- 365
- 366 for (indice = 0; indice < tamanhoPrimeiroVetor; indice++)
- 367 {
- 368 vetorMedia[indice] = primeiroVetor[indice]/segundoVetor[indice];
- 369 }
- 370
- 371 for (indice = 0; indice < tamanhoPrimeiroVetor; indice++)
- 372 {
- 373 printf ("Media dos dois vetores:\n [%f]\n",vetorMedia[indice]);
- 374 }
- 375
- 376 return 0;
- 377 }
- 378
- 379
- 380
- 381
- 382 //FUNCAO PRINCIPAL
- 383
- 384 int main ()
- 385 {
- 386
- 387 // variaveis de vetores e matrizes
- 388 float resultadoMultiplicacao[SIZE_MATRIZ][SIZE_MATRIZ];
- 389 float segundaMatriz[SIZE_MATRIZ][SIZE_MATRIZ];
- 390 float primeiraMatriz[SIZE_MATRIZ][SIZE_MATRIZ];
- 391 int resultadoProduto[SIZE_VETOR];
- float resultadoSoma [SIZE_VETOR];
- 393 float primeiroVetor[SIZE_VETOR];
- 394 int terceiroVetor[SIZE_VETOR];
- 395 float segundoVetor[SIZE_VETOR];
- 396 float vetorMedia [SIZE_VETOR];
- 397 float mediaTotalVetor = 0;
- 398 int usuarioNumero1;
- 399 int usuarioNumero2;
- 400 int resultado;
- 401 int num1;
- 402 int num2;
- 403 int indice =0;
- 404
- 405 // variaveis de tamanho e indice dos Vetores e Matrizes
- 406 int tamanhoPrimeiroVetorIntercalado;
- 407 int indiceResultadoVetorIntercalado;
- 408 int tamanhoSegundoVetorIntercalado;
- 409 int tamanhoColunasPrimeiraMatriz;
- 410 int tamanhoLinhasPrimeiraMatriz;
- 411 int tamanhoColunasSegundaMatriz;
- 412 int tamanhoLinhasSegundaMatriz;
- 413 int tamanhoPrimeiroVetor;
- 414 int indice1TerceiroVetor; //Terceiro vetor esta relacionado ao vetor paraa
- ser ordenado
- 415 int indice2TerceiroVetor;
- 416 int tamanhoTerceiroVetor;
- 417 int tamanhoSegundoVetor;
- 418 int indiceResultado;
- 419 int indiceColunas;
- 420 int indiceLinhas;
- 421 int indiceGeral;
- 422
- 423 // outras variaveis
- 424 int resultadoFinalProduto;
- 425 int auxiliarMultiplicacao;
- 426 int auxiliarPrintaFinal;
- 427 int auxiliarSaida;
- 428 int auxiliarSaida2;
- 429 int auxiliarOrdenacao;
- 430 char auxiliarExclusao;
- 431 int myBoolean2;
- 432 int myBoolean3;
- 433 int myBoolean;
- 434 int preOpcoes;
- 435 int opcoes;
- 436
- 437 printf ("\n Calcc
- uladora de Matrizes e Vetores\n\n");
- 438
- 439 while (myBoolean == 0)
- 440 {
- 441 do
- 442 {
- 443 printf ("
- Menu Principal\n");
- printf (" | (1)Definir tt
- amanho e parametros do primeiro vetor |\n");
- 445 printf (" | (2)Definir tt
- amanho e parametros do segundo vetor |\n");
- 446 printf (" | (3)Definir tt
- amanho e parametros da primeira matriz |\n");
- 447 printf (" | (4)Definir tt
- amanho e parametros da segunda matriz |\n");
- 448 printf (" | (5)Sair paraa
- o Menu de Operacoes |\n");
- 449 scanf ("%d",&preOpcoes);
- 450 system ("clear");
- 451 } while ((preOpcoes < 1) || (preOpcoes > 5));
- 452
- 453 switch (preOpcoes)
- 454 {
- 455 case 1:
- 456 {
- 457 printf ("\nQual o tamanho do seu Primeiro Vetor? Respostas negativaa
- s ou maiores que 20 nao serao consideradas:\n");
- 458 scanf ("%d",&tamanhoPrimeiroVetor);
- 459
- 460 if (tamanhoPrimeiroVetor > 0)
- 461 auxiliarPrintaFinal = 0;
- 462 else
- 463 auxiliarPrintaFinal = 1;
- 464 } while ((tamanhoPrimeiroVetor < 0) || (tamanhoPrimeiroVetor > 20));
- 465
- 466
- 467 /*F*/ preenchePrimeiroVetor (primeiroVetor, tamanhoPrimeiroVetor);
- 468 /*F*/ mostraPrimeiroVetor (primeiroVetor, tamanhoPrimeiroVetor, indiceGerall
- );
- 469
- 470 printf ("\nAperte 'x' para apagar o seu Primeiro Vetor\n");
- 471 scanf ("%c",&auxiliarExclusao);
- 472
- 473 do
- 474 {
- 475 if (auxiliarExclusao == 'x')
- 476 {
- 477 for (indiceGeral = 0; indiceGeral < tamanhoPrimeiroVetor; indiceGG
- eral++)
- 478 {
- 479 primeiroVetor[indiceGeral] = 0;
- 480 }
- 481
- 482 system ("clear");
- 483 printf ("Seu Primeiro Vetor foi excluido da calculadora, para inss
- erir um novo Vetor volte ao Menu Principal apertando 0\n");
- 484 }
- 485 else
- 486 printf ("Aperte 0 para voltar ao Menu Principal\n");
- 487 scanf ("%d",&auxiliarSaida);
- 488 system ("clear");
- 489
- } while (auxiliarSaida != 0 && auxiliarExclusao != 'x' && myBoolean !!
- = 0);
- 491
- 492 if (auxiliarSaida == 0)
- 493 {
- 494 myBoolean = 0;
- 495 }
- 496 else;
- 497 break;
- 498
- 499 while (myBoolean == 1)
- 500
- 501 case 2:
- 502 do
- 503 {
- 504 printf ("\nQual o tamanho do seu Segundo Vetor? Respostas negativaa
- s ou maiores que 20 nao serao consideradas:\n");
- 505 scanf ("%d",&tamanhoSegundoVetor);
- 506 } while ((tamanhoSegundoVetor < 0) || (tamanhoSegundoVetor > 20));
- 507
- 508 if (tamanhoPrimeiroVetor > 0)
- 509 auxiliarPrintaFinal = 0;
- 510 else
- 511 auxiliarPrintaFinal = 1;
- 512
- 513 /*F*/ preencheSegundoVetor (segundoVetor, tamanhoSegundoVetor);
- 514 /*F*/ mostraSegundoVetor (segundoVetor, tamanhoSegundoVetor, indiceGeral))
- ;
- 515
- 516 printf ("\nAperte 'x' para apagar o seu Segundo Vetor\n");
- 517 scanf ("%c",&auxiliarExclusao);
- 518
- 519 do
- 520 {
- 521 if (auxiliarExclusao == 'x')
- 522 {
- 523 for (indiceGeral = 0; indiceGeral < tamanhoSegundoVetor; indiceGG
- eral++)
- 524 {
- 525 segundoVetor[indiceGeral] = 0;
- 526 }
- 527
- 528 system ("clear");
- 529 printf ("Seu Segundo Vetor foi excluido da calculadora, para inn
- serir um novo Vetor volte ao Menu Principal apertando 0\n");
- 530 }
- 531 else
- 532 printf ("Aperte 0 para voltar ao Menu Principal\n");
- 533 scanf ("%d",&auxiliarSaida);
- 534 system ("clear");
- 535
- 536 } while (auxiliarSaida != 0 && auxiliarExclusao != 'x');
- 537
- 538 if (auxiliarSaida == 0)
- 539 {
- myBoolean = 0;
- 541 }
- 542 else;
- 543 break;
- 544
- 545 case 3:
- 546 do
- 547 {
- 548 printf ("\nQuantas linhas tem a sua Primeira Matriz? Respostas nee
- gativas ou maiores que 20 nao serao consideradas:\n");
- 549 scanf ("%d",&tamanhoLinhasPrimeiraMatriz);
- 550
- 551 printf ("\nQuantas colunas tem a sua Primeira Matriz? Respostas nn
- egativas ou maiores que 20 nao serao consideradas:\n");
- 552 scanf ("%d",&tamanhoColunasPrimeiraMatriz);
- 553 } while ((tamanhoColunasPrimeiraMatriz < 0) || (tamanhoColunasPrimee
- iraMatriz > 20));
- 554
- 555 /*F*/ preenchePrimeiraMatriz (primeiraMatriz, tamanhoColunasPrimeiraMatrii
- z, tamanhoLinhasPrimeiraMatriz);
- 556 /*F*/ mostraPrimeiraMatriz (primeiraMatriz, tamanhoColunasPrimeiraMatriz,,
- tamanhoLinhasPrimeiraMatriz);
- 557
- 558 printf ("\nAperte 'x' para apagar o sua Primeira Matriz\n");
- 559 scanf ("%c",&auxiliarExclusao);
- 560
- 561 do
- 562 {
- 563 if (auxiliarExclusao == 'x')
- 564 {
- 565 for (indiceColunas = 0; indiceColunas < tamanhoColunasPrimeiraMM
- atriz; indiceColunas++)
- 566 {
- 567 for (indiceLinhas = 0; indiceLinhas < tamanhoLinhasPrimeiraMaa
- triz; indiceLinhas++)
- 568 {
- 569 primeiraMatriz[indiceLinhas][indiceColunas] = 0;
- 570 }
- 571 }
- 572
- 573 system ("clear");
- 574 printf ("Sua Primeira Matriz foi excluida da calculadora, para
- inserir uma nova Matriz volte ao Menu Principal apertando 0\n");
- 575 }
- 576 else
- 577 printf ("Aperte 0 para voltar ao menu principal\n");
- 578 scanf ("%d",&auxiliarSaida);
- 579 system ("clear");
- 580
- 581 } while (auxiliarSaida != 0 && auxiliarExclusao != 'x');
- 582
- 583 if (auxiliarSaida == 0)
- 584 {
- 585 myBoolean = 0;
- 586 }
- else
- 588 myBoolean = 1;
- 589 break;
- 590
- 591 case 4:
- 592 do
- 593 {
- 594 printf ("\nQuantas linhas tem a sua Segunda Matriz? Respostas negg
- ativas ou maiores que 20 nao serao consideradas:\n");
- 595 scanf ("%d",&tamanhoLinhasSegundaMatriz);
- 596
- 597 printf ("\nQuantas colunas tem a sua Segunda Matriz? Respostas negg
- ativas ou maiores que 20 nao serao consideradas:\n");
- 598 scanf ("%d",&tamanhoColunasSegundaMatriz);
- 599 } while ((tamanhoColunasSegundaMatriz < 0) || (tamanhoColunasSegundaa
- Matriz > 20));
- 600
- 601 /*F*/ preencheSegundaMatriz (segundaMatriz, tamanhoColunasSegundaMatriz,
- tamanhoLinhasSegundaMatriz);
- 602 /*F*/ mostraSegundaMatriz (segundaMatriz, tamanhoColunasSegundaMatriz, taa
- manhoLinhasSegundaMatriz);
- 603
- 604 printf ("\nAperte 'x' para excluir sua Segunda Matriz\n");
- 605 scanf ("%c",&auxiliarExclusao);
- 606
- 607 do
- 608 {
- 609 if (auxiliarExclusao == 'x')
- 610 {
- 611 for (indiceColunas = 0; indiceColunas < tamanhoColunasPrimeiraMaa
- triz; indiceColunas++)
- 612 {
- 613 for (indiceLinhas = 0; indiceLinhas < tamanhoLinhasPrimeiraMaa
- triz; indiceLinhas++)
- 614 {
- 615 primeiraMatriz[indiceLinhas][indiceColunas] = 0;
- 616 }
- 617 }
- 618 system ("clear");
- 619 printf ("Sua Segunda Matriz foi excluida da calculadora, para ii
- nserir uma nova Matriz volte ao Menu Principal apertando 0\n");
- 620 }
- 621 else
- 622 printf ("Aperte 0 para voltar ao menu principal\n");
- 623 scanf ("%d",&auxiliarSaida);
- 624 system ("clear");
- 625 } while (auxiliarSaida != 0 && auxiliarExclusao != 'x');
- 626
- 627 if (auxiliarSaida == 0)
- 628 {
- 629 myBoolean = 0;
- 630 }
- 631
- 632 break;
- 633
- case 5:
- 635 myBoolean = 1;
- 636 myBoolean2 = 0;
- 637 break;
- 638 }
- 639
- 640 while (myBoolean2 == 0 && myBoolean != 0)
- 641 {
- 642 do
- 643 {
- 644 printf ("
- Menu de Operacoes\n\n");
- 645 printf (" | (1)Soma de dd
- ois vetores |\n");
- 646 printf (" | (2)Divisao pp
- or diferenca |\n");
- 647 printf (" | (3)MMC
- |\n");
- 648 printf (" | (4)Ordenacaoo
- de um vetor de inteiros em ordem crescente |\n");
- 649 printf (" | (5)Multiplicc
- acao de duas matrizes |\n");
- 650 printf (" | (6)Retornar
- ao Menu Principal |\n");
- 651 printf (" | (7)Sair da CC
- alculadora |\n");
- 652
- 653 printf ("\nSeu PrimeiroVetor:\n");
- 654 for (indiceGeral = 0; indiceGeral < tamanhoPrimeiroVetor; indiceGerall
- ++)
- 655 {
- 656 printf ("[%.5f]\n",primeiroVetor[indiceGeral]);
- 657 }
- 658 printf ("\nSeu Segundo Vetor:\n");
- 659 for (indiceGeral = 0; indiceGeral < tamanhoPrimeiroVetor; indiceGerall
- ++)
- 660 {
- 661 printf ("[%.5f]\n",segundoVetor[indiceGeral]);
- 662 }
- 663
- 664 printf ("\nSua Primeira Matriz:\n");
- 665 for (indiceColunas = 0; indiceColunas < tamanhoColunasPrimeiraMatriz;;
- indiceColunas++)
- 666 {
- 667 for (indiceLinhas = 0; indiceLinhas < tamanhoLinhasPrimeiraMatriz;
- indiceLinhas++)
- 668 {
- 669 printf ("\t%.5f",primeiraMatriz[indiceLinhas][indiceColunas]);
- 670 }
- 671 printf ("\n");
- 672 }
- 673
- 674 printf ("\nSua Segunda Matriz:\n");
- 675 for (indiceColunas = 0; indiceColunas < tamanhoColunasSegundaMatriz;
- indiceColunas++)
- {
- 677 for (indiceLinhas = 0; indiceLinhas < tamanhoLinhasSegundaMatriz; ii
- ndiceLinhas++)
- 678 {
- 679 printf ("\t%.5f",segundaMatriz[indiceLinhas][indiceColunas]);
- 680 }
- 681 printf ("\n");
- 682 }
- 683
- 684 printf ("\nQual operacao voce deseja realizar?\n");
- 685 scanf ("%d",&opcoes);
- 686 system ("clear");
- 687 } while ((opcoes < 1) || (opcoes > 9));
- 688
- 689 switch (opcoes)
- 690 {
- 691 case 1:
- 692 somaDoisVetores (primeiroVetor, segundoVetor, tamanhoPrimeiroVetor, tt
- amanhoSegundoVetor, resultadoSoma);
- 693 do
- 694 {
- 695 printf ("Aperte 0 para voltar ao menu principal\n");
- 696 scanf ("%d",&auxiliarSaida2);
- 697 system ("clear");
- 698 } while (auxiliarSaida2 != 0);
- 699
- 700 if (auxiliarSaida2 == 0)
- 701 {
- 702 myBoolean = 0;
- 703 }
- 704 else;
- 705 break;
- 706 case 2:
- 707 printf ("Diga o primeiro numero:\n");
- 708 scanf ("%d",&usuarioNumero1);
- 709
- 710 printf ("Diga o segundo numero:\n");
- 711 scanf ("%d",&usuarioNumero2);
- 712
- 713 divisao (usuarioNumero1, usuarioNumero2);
- 714 break;
- 715
- 716 case 3:
- 717 printf ("Diga o primeiro numero: \n");
- 718 scanf ("%d",&num1);
- 719
- 720 printf ("Diga o segundo numero: \n");
- 721 scanf ("%d",&num2);
- 722
- 723 mmc (num1, num2, resultado);
- 724
- 725 break;
- 726
- 727 case 4:
- 728 printf ("Qual o tamanho do vetor que voce deseja ordenar?\n");
- scanf ("%d",&tamanhoTerceiroVetor);
- 730
- 731 for (indice1TerceiroVetor = 0; indice1TerceiroVetor < tamanhoTerceii
- roVetor; indice1TerceiroVetor++)
- 732 {
- 733 printf ("Diga os valores para preencher o seu vetor:\n");
- 734 scanf ("%d",&terceiroVetor[indice1TerceiroVetor]);
- 735 }
- 736
- 737 /*F*/ ordenaVetorInteiros (terceiroVetor, tamanhoTerceiroVetor);
- 738
- 739 do
- 740 {
- 741 printf ("Aperte 0 para voltar ao menu principal\n");
- 742 scanf ("%d",&auxiliarSaida2);
- 743 system ("clear");
- 744 } while (auxiliarSaida2 != 0);
- 745
- 746 break;
- 747
- 748 case 5:
- 749 if (tamanhoColunasPrimeiraMatriz <= 0 && tamanhoLinhasPrimeiraMatrii
- z <= 0 && tamanhoColunasSegundaMatriz <= 0 && tamanhoLinhasSegundaMatriz <=
- 0)
- 750 printf ("ERRO: Para realizar a Operacao 6 e necessario definir oss
- parametros da sua Matriz\n\n");
- 751 else
- 752 /*F*/ zeraMatriz (tamanhoColunasPrimeiraMatriz, tamanhoLinhasPrimeiraMM
- atriz, tamanhoColunasSegundaMatriz, tamanhoLinhasSegundaMatriz);
- 753 /*F*/ multiplicacaoMatrizes (primeiraMatriz, segundaMatriz, tamanhoColl
- unasPrimeiraMatriz, tamanhoLinhasPrimeiraMatriz, tamanhoColunasSegundaMatrizz
- , tamanhoLinhasSegundaMatriz);
- 754
- 755 do
- 756 {
- 757 printf ("Aperte 0 para voltar ao menu principal\n");
- 758 scanf ("%d",&auxiliarSaida2);
- 759 system ("clear");
- 760 } while (auxiliarSaida2 != 0);
- 761 break;
- 762 case 6:
- 763 myBoolean = 0;
- 764 myBoolean2 = 1;
- 765 break;
- 766 case 7:
- 767 myBoolean2 = 1;
- 768 break;
- 769 }
- 770 }
- 771 }
- 772 return 0;
- 773 }
- 774
- 775 /*AUTORIA: GABRIEL SERRA MANHAES
- 776 DRE: 116183338
- 777 MATERIA: COMPUTACAO 1 */
Advertisement
Add Comment
Please, Sign In to add comment